我有一个用户模型。
用户有一个名为 Balance 的字段(表示他的帐户中有多少钱)。
我显然不想让它attr_accessible。
但我希望能够改变它的价值(比如当我向他收费时)。
如何为此属性编写 getter/setter 方法?
我有一个用户模型。
用户有一个名为 Balance 的字段(表示他的帐户中有多少钱)。
我显然不想让它attr_accessible。
但我希望能够改变它的价值(比如当我向他收费时)。
如何为此属性编写 getter/setter 方法?
@object.attribute = new_value
attr_accesible
是一种防止大规模分配的保护,不要弄乱它,attr_accessor
它会创建 getter 和 setter
attr_accessible
保护您免受大规模分配,如使用update_attributes
和类似。
它根本不影响读取该属性的值,也不影响您直接调用访问器。例如你可以写
user.balance -= item.price
user.save!
假设您之前已验证这确实是正确的操作。