想象一下,我的模型上有一个布尔值和一个字符串属性,其数据如下:
Model.locked => true
Model.status => "Available"
调用更新操作时,我想使用布尔属性来控制字符串属性是否被更新修改,无论如何都应该保存更新中的所有其他属性。
因此,如果
Model.locked => true
我们尝试
Model.status = "Sold"
然后
Model.status => "Available"
目前我有这样的模型......
before_update :dont_update_locked_item, :if => :item_locked?
def item_locked?
self.locked
end
def dont_update_locked_item
#Some rails magic goes here
end
如何防止单个属性被更新?
我知道答案会很痛苦,但有人帮帮我。已经很晚了,我累了,而且我的天赋刚刚好。;-)