Partners というモデルと Profiles というモデルがあります。
パートナーには多くのプロファイルがあり、プロファイルには 1 つのパートナーがあります。
パートナー コントローラーでカウントして、所有しているプロファイルの数を返す方法が必要です。
プロファイル テーブルでは、この列は次のように呼ばれます: partner_id は、パートナー テーブルの id 列と同じです。
.count() 関数を見たことがありますが、正しい数値を返すために必要なものがわかりません
乾杯
Partners というモデルと Profiles というモデルがあります。
パートナーには多くのプロファイルがあり、プロファイルには 1 つのパートナーがあります。
パートナー コントローラーでカウントして、所有しているプロファイルの数を返す方法が必要です。
プロファイル テーブルでは、この列は次のように呼ばれます: partner_id は、パートナー テーブルの id 列と同じです。
.count() 関数を見たことがありますが、正しい数値を返すために必要なものがわかりません
乾杯
列を使用するのが最善の方法だと思いcounter_cacheます:
class Partner < ActiveRecord::Base
has_many :profiles, :dependent => :destroy
end
class Profile < ActiveRecord::Base
belongs_to :partner, :counter_cache => true
end
profiles_countテーブルに列を追加する必要がありpartnersます。@partner.profiles.countデータベースに対して追加のクエリを実行するため、呼び出しには適していません。@partner.profiles.size代わりに使用する必要があります。データベースから既に取得されている場合はコレクションのサイズを取得し、別の場合はクエリを実行します。詳細については、次のリンクを参照してください。
あなたが持っている場合
has_many :profiles
コントローラでインスタンス化されたPartnerクラスと@partnerで、次のことができます。
@partner.profiles.count
@partner = Partner.find params[:id]
@partner.profiles.count
トリックを行う必要があります