私のアプリケーションでは、私が使用しています
phy = Physician.find(:all, :include => {:clinician_affiliations => :provider_organization}, :with_disabled => true).select{|physician| not physician.provider_organizations.blank? }.collect{|enum| [enum.display_name_schedule, enum.id]}
コード。コードを実行すると、N + 1回実行されます。これは Rails の N+1 クエリの問題だと思います。N+1 なしでこのコードを単純化する必要があります。
注:clinician_affiliation は provider_organization に属しています。(私は Rails 2.3 を使用しています)
class Clinician
.....
has_many :provider_organizations, :through => :clinician_affiliations
...
end
DB Physician および Provider_organizations から、パーティ テーブルのタイプがあります。
クラス 医師 < 臨床医