【发布时间】:2011-03-01 19:56:03
【问题描述】:
我正在尝试实现一个功能,其中一旦设置属性,就无法在 ActiveRecord 模型上更改。为此,我编写了以下方法:
def address
self[:address]
end
def address=(val)
if new_record?
self[:address] = val
else
errors.add(:address, "Cannot change address, once it is set")
return false # tried return nil here first, did not work
end
end
我在这里做错了吗?一旦我尝试更改地址,我希望该对象无效,但是当我这样做obj.valid?时我没有收到任何错误@
编辑:值一旦设置就不会改变,但是当我通过 obj.valid 进行验证时我想获得无效对象?
【问题讨论】:
标签: ruby-on-rails-3 activerecord jrubyonrails