我在MYSQL中有一个名为“date_added”的字段。我希望它具有值Time.now.to_i作为其默认值(换句话说,添加记录的时间)。我知道在ActiveRecord中免费添加了一个类似的列,但是忽略了......我该如何添加这个默认值?
:默认=> ???
答案 0 :(得分:3)
您可以使用before_create
:
class SomeModel < ActiveRecord::Base
before_create :set_date_added
protected
def set_date_added
self.date_added = Time.now.to_i
end
end
这是在第一次保存对象之前调用的,完全符合您想要的条件。
或者,您可以使用hack将默认的activerecord created_at
重命名为date_added
,方法是按照以下答案进行操作:Renaming the created_at, updated_at columns of ActiveRecord/Rails
有关回调的详细信息,请参阅http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.html。