Railscasts #95, #22 - #23

前回の続き。

#95 Railscasts - More on ActiveResource

  • ActiveResource で簡単な認証をするには self.site = "http://user:password@localhost:3000/" でいいよ
  • Product.find(:all, :params => { :search => 'table' }) とかしてパラメータが渡せるよ
  • リソースにカスタムアクションを追加した場合は Product.get(:recent) とか Product.find(1).put(:discontinue) とかできるよ


それから、復習もすこし。

#22 Railscasts - Eager Loading

  • find に :include を指定したら eagar loading (関連レコードの一括読み込み)ができるよ
  • 複数の関連をロードしたければ配列で、関連のネストをしたければハッシュで指定できるよ

#23 Railscasts - Counter Cache Column

  • 関連レコードの数を毎回かぞえると遅いよ
  • 関連レコードを :include する方法もあるよ
  • :関連名_count というカラムを作ってキャッシュする方法があるよ
    • migrationを書くときには、カラム情報をリセットして、その時点の既存レコードを設定してあげようね
  • lengthを使うとキャッシュを使わないよ
  • belongs_to に :counter_cache => true をつけておこうね