我想为模型添加一个验证,以检查字段(字符串)是否可以设置为只有它的原始值为零的东西。
我该怎么做?
实际上有两个子问题是:
答案 0 :(得分:2)
这似乎是一项自定义工作。假设您有一个名为field
的字段。
validate :no_modifications_on_field
def no_modifications_on_field
if field_changed? && !field_was.nil?
errors.add(:field, 'Once you set a field, you can never change it!')
end
end
field_changed?
和field_was
是为每个字段生成的ActiveModel::Dirty
个助手。您还可以通过changed_attributes
访问所有已更改的属性。