我有一个用户模型。
用户有一个名为Balance的字段(表示他在帐户中有多少钱)。
我显然不想让它成为attr_accessible。
但我希望能够改变它的价值(比如当我向他收取某些费用时)。
如何为此属性编写getter / setter方法?
答案 0 :(得分:0)
@object.attribute = new_value
attr_accesible
是对大规模任务的保护,不要将其与attr_accessor
混淆,从而创建getter和setter
答案 1 :(得分:0)
attr_accessible
可以保护您免受update_attributes
及类似使用的群发分配。
它根本不会影响读取该属性的值,也不会影响您直接调用访问者。例如,你可以写
user.balance -= item.price
user.save!
假设您之前已经确认这确实是正确的行动。