找出创建对象rails控制台的必填字段

时间:2015-07-06 01:15:39

标签: ruby-on-rails rails-console

我想知道是否有一个命令可以告诉你需要填写哪些字段,以便创建一个对象>

示例:

我有一个User(name, password, email, zip code)表, 通过以下验证:

validates :name, :password, :email, presence: true

为了使用:User.create,我必须给它一个名字,密码和电子邮件才能成功。

由于我有一些包含超过20个字段的表,并且我不想在每次创建对象时检查验证,是否有命令(在rails控制台上使用),其中列出了所有字段需要出席?

1 个答案:

答案 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时提供的必填字段。