Rails 如何修改 Rails 默认的 created_at 和 updated_at

hastings · 2015年10月14日 · 最后由 xiaoronglv 回复于 2015年10月15日 · 2329 次阅读

现在有个项目使用的数据是各个项目共用的,现在的数据库中使用的时间是 insert_time 和 update_time,数据类型也改了,存在数据库的时间是数字化的时间 (1444802209),请问有什么方法可以实现让 rails 在保存数据自动修改 insert_time 和 update_time,并且存储的时间也是数字化后的

试试

class A < ActiveRecord::Base
  def timestamp_attributes_for_update
    [:update_time]
  end

  def timestamp_attributes_for_create
    [:insert_time]
  end

  def current_time_from_proper_timezone
    Time.now.to_i
  end
end

最好别改,以后会引出很多问题

其实可以写个 rake 任务做一下数据迁移嘛……并不是很困难……

要扩展而不要改,否则就是自己挖坑了

加两个字段,做一个 db 触发器不就 ok?

  1. ActiveRecord 的 cache_key
  2. etag 的 stale?

他们都依赖 updated_at,你的修改可能会导致连锁反应。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号