有没有办法在创建后更改数据库记录“created_at”变量?
答案 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将保存。