使用Rails增加数据库中的字段是否有一种比这更简单的方法:
@user.update_attribute(:last_seen_at, @user.last_seen_at+1)
答案 0 :(得分:2)
您可以使用increment
:
如果
attribute
将nil
初始化为零,并将传递的值添加为by
(默认值为1)。增量直接在基础属性上执行,不调用setter。仅对基于数字的属性有意义。返回self
。
示例:
@user.increment(:last_seen_at)
答案 1 :(得分:1)
是的!您可以假装它是一个计数器缓存并使用:
User.increment_counter(:last_seen_at, @user.id)
http://apidock.com/rails/ActiveRecord/CounterCache/increment_counter
编辑:我应该提到,如果您依赖日期或时间的行为(即Date.today + 1
),这将无效。在这种情况下,我认为你最好的办法就是做update_attribute
事。