Ruby on rails 如何编写基于同一行中的另一列自动更新一列的方法
我有这样一个用户表:Ruby on rails 如何编写基于同一行中的另一列自动更新一列的方法,ruby-on-rails,Ruby On Rails,我有这样一个用户表: ----------------------------------------------- | name | email | role | card_amount (integer) | ----------------------------------------------- | ... | ... | ... | ... | -----------------------------------------------
-----------------------------------------------
| name | email | role | card_amount (integer) |
-----------------------------------------------
| ... | ... | ... | ... |
-----------------------------------------------
我想根据card_amount列自动更新role列,具体条件如下:
if @user.card_amount >= 100
然后,角色列将自动更新,如下所示:
@user.role = "buyer"
如何让它自动发生?因此,每当@user.card\u amount>=100时,角色column将具有值“买方”
或者,当我转到rails控制台并将card_amount更新为100时,角色列也将更新为“买家” 您应该在保存前使用
回调。乙二醇
before_save :update_role
def update_role
if self.card_amount >= 100
self.role = "buyer"
end
end
阅读以下内容:谢谢,将此代码放入何处?应用程序\u控制器或用户\u控制器,或用户模型?将其放在用户模型:)是的,对不起,可以这么说,但我给出的链接中的示例非常清楚,我认为。