私はかなり大きなモデルを持っており、構築しているJSON文字列を小さく保つために、各レコードの選択されたフィールドのセットのみを取得したいと考えています。
findで:selectを使用するとうまく機能しますが、私の主な目標は、関連付けられたモデルで条件付きロジックを使用することです。名前付きスコープのlamdaでこれを行う唯一の方法は本当にありますか?おそらく不必要にそれを恐れていますが、:selectを条件付きで機能させる方法があるかどうかを理解したいと思います。
これは機能します:
@sites = Site.find :all, :select => 'id,foo,bar'
私がこれを試すとき:
@sites = Site.find :all, :select => 'id,foo,bar', :include => [:relatedmodel],
:conditions => ["relatedmodel.type in (?)", params[:filters]]
条件は機能しますが、各レコードにはすべてのSite属性が含まれているため、JSON文字列が大きくなりすぎます。
ポインタをありがとう!