0
在我的Rails 3项目中,我有一个表格,我只想参考应用程序:我从来没有希望任何人有能力在应用程序内更改此数据。这是我到目前为止有:如何防止ActiveRecord对象的字段被更改?
class Foo < ActiveRecord::Base
attr_readonly :name, :description
has_many :bars
def readonly?
return true
end
...
end
虽然这可以防止保存记录或使用update_attributes
,我想锁定下来,甚至更多:是有我,以防止装载记录的分配的方式, LA:
f = Foo.find(1)
f.name = 'New Name'
SomeError: You cannot change properties of this object
为什么它是一个活动的记录对象? – apneadiving
由于对象的原始配置位于数据库中。很长的故事。 – abeger
为什么你想停止改变属性?如果他们无法挽救他们,为什么这很重要? –