更新对象,同时保留updated_at时间戳

时间:2014-11-26 16:50:35

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

我想更新对象的属性,但保持属性updated_at(DateTime类型)不变。

这似乎不起作用,updated_at获取当前日期/时间:

p = Post.first
p.update(updated_at: p.updated_at, published: true)

2 个答案:

答案 0 :(得分:1)

在这里提问并回答:Is there a way to avoid automatically updating Rails timestamp fields?

但简短的回答是使用update_columnsi.e. user.update_columns(last_request_at: Time.current)

此处有更多信息:http://api.rubyonrails.org/classes/ActiveRecord/Persistence.html#method-i-update_column

答案 1 :(得分:1)

只需使用update_all方法,它不会触及updated_at字段 http://apidock.com/rails/ActiveRecord/Base/update_all/class