【发布时间】:2014-11-26 16:50:34
【问题描述】:
我想更新对象的属性,但保持属性updated_at(DateTime 类型)不变。
这似乎不起作用,updated_at 获取当前日期/时间:
p = Post.first
p.update(updated_at: p.updated_at, published: true)
【问题讨论】:
标签: 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)
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-4 ruby-2.0
在这里提问和回答:Is there a way to avoid automatically updating Rails timestamp fields?
但简短的回答是使用 update_columns 。 i.e. user.update_columns(last_request_at: Time.current)
更多信息在这里:http://api.rubyonrails.org/classes/ActiveRecord/Persistence.html#method-i-update_column
【讨论】:
只使用 update_all 方法,它不会触及 updated_at 字段 http://apidock.com/rails/ActiveRecord/Base/update_all/class
【讨论】: