モデルを作成するときは、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はテーブルに2つの列を自動的に作成します: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の組み込みのタイムスタンプに依存する必要があります。