在数据库中增加字段的最简单方法?

时间:2013-12-29 03:41:11

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-4

使用Rails增加数据库中的字段是否有一种比这更简单的方法:

@user.update_attribute(:last_seen_at, @user.last_seen_at+1)

2 个答案:

答案 0 :(得分:2)

您可以使用increment

  

如果attributenil初始化为零,并将传递的值添加为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事。