1

Rails 3.2 で :delegate メソッドを使用して、オブジェクトの関連付けのメソッドを取得/設定しています。委任されたメソッドを呼び出していない場合でも、これは常に関連付けをロードするようです。

たとえば、私が持っている場合:

class Post < ActiveRecord::Base
   delegate :name, :to => :author, :prefix => true
end

私がそうPost.all.limit(10)すると、アクセスしているかどうかに関係なく、ActiveRecord はそれらの各投稿の作成者も読み込みます@post.author_name

委任された関連付けを遅延してロードする方法はありますか? それとも、アソシエーションを遅延ロードするカスタム ラッパー メソッドを作成したほうがよいでしょうか?

4

1 に答える 1