如果您有DB列,当您创建和更新模型对象时, created_at 和 updated_at Rails将自动设置这些值。有没有一种方法可以在不接触这些列的情况下保存模型?
created_at
updated_at
我引入了一些遗留数据,并且我想从(不同命名的)遗留数据字段中的相应值中设置这些值。我发现,当我在模型上设置它们,然后保存模型时,Rails似乎覆盖了传入的值。
当然,我可以对Rails模型列进行不同的命名,以防止出现这种情况,但是在导入数据之后,我希望Rails能够自动添加时间戳。
上云精选
2核2G云服务器 每月9.33元起,个人开发者专属3年机 低至2.3折
Rails5提供了一种方便的方法来更新记录,而无需更新记录的时间戳 updated_at : https://api.rubyonrails.org/classes/ActiveRecord/Persistence.html#method-i-save
您只需要在更新记录时传递 touch:false 即可。
touch:false
>> user = User.first >> user.updated_at => Thu, 28 Apr 2016 20:01:57 IST +05:30