更改记录的变量created_at属性

时间:2011-02-25 17:42:17

标签: ruby-on-rails ruby activerecord

有没有办法在创建后更改数据库记录“created_at”变量?

2 个答案:

答案 0 :(得分:5)

当然,因为rails 2.3你可以像任何其他列一样改变它:从数据库中获取对象,设置列的值,保存它。

my_model = MyModel.find(42)
my_model.created_at = Date.today
my_model.save

答案 1 :(得分:0)

如果要存储创建日期,可能不希望使用默认的时间戳行为。

使用before_save过滤器和自定义字段'creation_date'

class MyModel
  before_save :set_creation_date

  def set_creation_date
    self.creation_date ||= Date.today
  end
end

这样,如果你自己设置creation_date,它将被保存到具有该值的db,但是Date.today将保存。