And*_*wJL 3 validation ruby-on-rails
有没有一种方法可以验证给定模型对象中所有属性的真实存在?还是我必须列出每个属性presence: true?
谢谢你的帮助。
要获取所有模型属性的数组,可以使用YourModel.attribute_names。但是,您不能真正验证所有属性(例如id,created_at)的存在,因为在创建记录时,在验证期间这些属性将为空白。
class YourModel < ActiveRecord::Base
NON_VALIDATABLE_ATTRS = ["id", "created_at", "updated_at"] #or any other attribute that does not need validation
VALIDATABLE_ATTRS = YourModel.attribute_names.reject{|attr| NON_VALIDATABLE_ATTRS.include?(attr)}
validates_presence_of VALIDATABLE_ATTRS
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2604 次 |
| 最近记录: |