created_on より created_at を使う。

テーブルにcreated_atというカラムを作っておくと、ActiveRecordが自動的にデータを作成した日時を記録してくれる。Magic Field Name。似たようなのに、以下の4種類がある。

  • created_at …… 作成日時
  • created_on …… 作成日
  • updated_at …… 更新日時
  • updated_on …… 更新日

onとatの違いは、日付だけでなく時間も記録するかどうか。onは日付のみを記録する。ただし、カラムの型にdatetimeを使っている場合、動作は同じになる(Oracleの場合に異なる?)。

Q: What is the difference between created_on and created_at if they both have to be datetime fields?

A: There is no difference. The two are treated the same. (They ARE different for Oracle)

Oracleの動作がいまいちハッキリしないけど、普通は時間もとっておきたいので、 created_at / updated_at を使うようにする。