B
とモデルC
に属するA
というモデルがあります。モデルB
はC
に属します。私はA
のインスタンスがB
のC
を参照するようにしたい場合は、B
が存在する場合はそれ自身のC
を参照してください。ActiveRecordに条件付きのbelongs_toとhas_oneの関連付けがありますか?
だから私は一種の
belongs_to :B, optional: true
belongs_to :C
has_one :C, through: :B
(A
のために)したいが、私はC
の会合がB
の存在に依存することにしたいです。これをどのように達成するのですか?
注:A
のクエリを効率的にするため、A.all.includes(:C)
も有効です。
'B'と' C'の関連付けを同時に指定するには 'A'が必要でしょうか? – AntonTkachov
@AntonTkachovいいえ、私はそうは思わない。 – Derek
Aが「belongs_to」Cと「has_one」の両方を持っている理由は不明です。達成したい階層を明確にすることはできますか? – inveterateliterate