根据attr_readonly的
this question和
documentation,应该可以:
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
然而,第一个失败,说我不能大规模分配酒吧.我在做什么?
解决方法
从
documentation起
attr_accessible
takes a list of attributes that will be accessible.
All other attributes will be protected.
因此attr_accessible使bar属性不受大规模分配的影响.