Rails4で条件付きのリレーションを設定する方法
Rails4になってから指定方法が変わって、探すのに苦労したのでメモっときます。
Rails3の場合
has_many :hoge, :conditions => "status = 1"
Rails4の場合
has_many :hoge, -> { where(status: 1) }
『->』ってなんだ
これはruby1.9から、lambdaをこういうふうに書けるようになったそうです。
lambda { |hoge| "hello #{hoge}" }
これを
-> (hoge) { "hello #{hoge}" }
こんな風に書けるそうです。
こちらを参考にさせていただきました。 http://opamp.hatenablog.jp/entry/20110731/1312083714