根据this question和attr_readonly
的documentation以下应该是可行的:Rails的attr_readonly不起作用
class MyModel < ActiveRecord::Base
attr_accessible :foo
attr_readonly :bar
end
m = MyModel.create(foo: '123', bar: 'bar') # Should work
m.update_attributes(bar: 'baz') # Should not work
但是第一个失败了,说我不能大规模分配bar
。我在做什么?
我明白了,所以我必须将它添加到两个,'attr_accessible'和'attr_readlony'?反直觉的那种...... – 2012-07-08 12:27:21
不,你要大规模ASIGN它,它不会是一个只读的。你只需要做attr_accessible。 – YuriAlbuquerque 2012-07-08 12:28:37
但是如果我只想在创作时一次性批量分配它? – 2012-07-08 12:30:02