1
我在MYSQL中有一個名爲「date_added」的字段。我希望此值具有Time.now.to_i作爲其默認值(換句話說,添加記錄的時間)。我知道在ActiveRecord中免費添加了一個類似的列,但忽略了...我如何添加這個默認值?如何使用ActiveRecord將列的默認值設置爲當前時間?
:default => ???
我在MYSQL中有一個名爲「date_added」的字段。我希望此值具有Time.now.to_i作爲其默認值(換句話說,添加記錄的時間)。我知道在ActiveRecord中免費添加了一個類似的列,但忽略了...我如何添加這個默認值?如何使用ActiveRecord將列的默認值設置爲當前時間?
:default => ???
您可以使用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
,將調用此對象被保存的權利之前,第一次,正是你想要的條件。
或者,你可以使用黑客按照這裏的答案,默認的ActiveRecord created_at
重命名爲date_added
:Renaming the created_at, updated_at columns of ActiveRecord/Rails 關於回調的更多信息,請http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.html。