我想知道是否有一个命令可以告诉你需要填写哪些字段,以便创建一个对象>
示例:
我有一个User(name, password, email, zip code)
表,
通过以下验证:
validates :name, :password, :email, presence: true
为了使用:User.create
,我必须给它一个名字,密码和电子邮件才能成功。
由于我有一些包含超过20个字段的表,并且我不想在每次创建对象时检查验证,是否有命令(在rails控制台上使用),其中列出了所有字段需要出席?
答案 0 :(得分:2)
您可以将validators method用于'PresenceValidator'。
使用这样的模型:
class Commentary < ActiveRecord::Base
belongs_to :user
belongs_to :match
validates_presence_of :content, :match_id
end
当你这样做时:
Commentary.validators
.select { |validation| validation.to_s.include?('PresenceValidator') }
.map{|validation| validation.attributes }
.flatten
你得到:
[:content, :match_id]
这些是您在创建ActiveModel时提供的必填字段。