是否有可能在控制檯顯示presence: true
領域Rails的顯示存在:真田
class Product < ActiveRecord::Base
validates :title, :description, presence: true
end
像Product.column_names
- 顯示所有字段
尋找不便Product.mandatory_columns
=> ['title','description']
是否有可能在控制檯顯示presence: true
領域Rails的顯示存在:真田
class Product < ActiveRecord::Base
validates :title, :description, presence: true
end
像Product.column_names
- 顯示所有字段
尋找不便Product.mandatory_columns
=> ['title','description']
這可能會有所不同的位不同版本的Ruby on Rails,但是我能夠在Rails 4中使用這種方法獲得它們:
Model.validators.select{|v| v.kind_of?(ActiveRecord::Validations::PresenceValidator)}.flat_map(&:attributes).uniq
,甚至更短,如在評論中指出:
Model.validators.select{|v| v.kind == :presence}.flat_map(&:attributes).uniq
爲什麼不把它在不斷的?
class Product < ActiveRecord::Base
MandatoryColumns = %i[title description]
validates_presence_of *MandatoryColumns
end
軌控制檯:
Product::MandatoryColumns => [:title,:description]
儘管使用'Model.validators',儘管它不會根據需要提供所需的輸出,但您可能需要根據需要迭代和準備輸出,但它會將所有內容都放入關於給定'Model'的驗證和屬性。 –