我正在尝试将Rails3与现有的数据库架构一起使用。时间戳字段updated_at和created_at需要映射到db上创建和修改。
有没有办法告诉activerecord使用备用列名?
先谢谢你,克里斯
修改
可以通过将其放在模型目录中的文件中来完成:
module ActiveRecord
module Timestamp
def timestamp_attributes_for_update #:nodoc:
[:modified, :updated_on]
end
def timestamp_attributes_for_create #:nodoc:
[:created, :created_on]
end
end
end
答案 0 :(得分:1)
如果不在ActiveRecord:: Timestamp中覆盖timestamp_attributes_for_update
,我认为没有办法做到这一点。
一个简单的解决方法是在模型中使用before_update
回调。
before_update :set_modified_time
private
def set_modified_time
self.modified = Time.now
end