ActiveRecord ignored_columns

ActiveRecord 上でARからカラムを認知させたくないときに使える。

class Project < ActiveRecord::Base
  self.ignored_columns = [:category]
end

ActiveRecord::ModelSchema::ClassMethods | RailsDoc(β)

ユースケース

  • カラムを削除するとき: カラム削除より先に ignored_colums しておかないとデプロイ時エラー
  • パフォーマンス対策: 無駄なselectを極力減らしたいとき
  • カラムの値を触らせたくないとき: attr_readonly が使えるのだけどカラムの更新処理は無視され警告もエラーも出ない。リファクタのときとかにエラーを出したいときは ignored_columsが適している

参考

ジョシュアツリーの法則

人は名前を知った途端、それが見えるようになる。逆に、名前がなければ(知らなければ)、それが見えない。つまり、名前を知ることで存在を知る。

【プリンシプルオブプログラミング】法則 - きむたの日記

『プリンシプルオブプログラミング』、未読なのでセールのときとかに買って読んでおきたい。