attr_protected允许您将特定列标记为protected,而不是attr_accessible,它允许您将除给定集之外的所有列标记为受保护。 attr_readonly允许您将特定列标记为只读。是否存在反转,允许您将除给定集之外的所有列标记为只读?
答案 0 :(得分:1)
也许您在attr_accessible
之后,它指定了“可分配质量”的列(例如,它们可以传递到create
和update_attributes
)。实际上,这意味着它们不会被写入。
设置此属性:
@user.admin = true
@user.save
答案 1 :(得分:0)
这有点像黑客,但我发现这有效:
after_initialize do
mutable_attributes = ["status", "updated_at"]
self.class.attr_readonly *(self.attributes.keys - mutable_attributes)
end