创建模型时,您应该生成一个 ActiveRecord 迁移以创建将存储与此模型关联的数据的表。例如,如果您的模型名为“Product”,请运行:
rails g migration create_products_table
这将在 db/migrate 中生成一个迁移文件(以您生成迁移文件的时间戳为前缀,例如:“20121201200720_create_products_table.rb”)
迁移文件应如下所示:
class CreateProducts < ActiveRecord::Migration
def change
create_table :products do |t|
t.timestamps
end
end
end
当您运行此迁移 ( rake db:migrate
) 时,ActiveRecord 将自动在您的表中创建两列:created_at
和updated_at
。然后去看看你的schema.rb(在db中)。会有这样的事情:
create_table "products", :force => true do |t|
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
end
created_at
将存储创建产品的时间戳。
updated_at
将存储产品上次更新的时间戳(您在此处查找的内容)
所以你不必创建自定义列,你应该只依赖 ActiveRecord 的内置时间戳。