我已经使用Ruby on Rails创建了一个网站,并为我的用户提供了一个包含点的数据库。每个用户都有积分,因此我将其称为@user.points
。我可以使用以下方法查看要点:
<%= user.points %>
当用户完成某些操作时,我正在尝试从页面上增加这些要点。所以我试着做:
<% @user.points += 100 %>
但这似乎不起作用。我觉得有一个简单的解决方案,或者我正在监督某些事情。
您可以使用increment(attribute, by = 1)
:
如果为nil,则将属性初始化为零,并添加传递的值by(默认值为1)。增量直接在基础属性上执行,不调用设置器。仅对基于数字的属性有意义。返回自身。
@user.increment(:points, 100)
例子:
=> user = User.last
=> user.points
=# 100
=> user.increment(:points, 100)
=> user.points
=# 200
=> user.increment(:points, 100)
=> user.points
=# 300
=# ......
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句