我正在使用Ruby on Rails 3.1,我希望“保护”“特定”对象(存储在数据库中)不被更新。也就是说,如果对象是public
或private
,我的类有一个用于存储的属性,我希望只有在private
时才能更新该对象,否则执行没有(也就是说,不要更新对象,静默)。
换句话说,如果对象是public
,我想跳过保存和更新流程。不再。
我应该如何继续完成?
P.S。:也许我可以使用“条件”/“动态”attr_accessible
属性,但我不确定这种方法是否遵循“Ruby on Rails方式”。此外,我不知道是否可以通过使用Ruby on Rails来实现这一点。
答案 0 :(得分:0)
这听起来像验证的完美案例。
validate :is_not_protected
def is_not_protected
self.errors.add(:base, 'This object is protected and cannot be changed.') if self.protected?
end