これはよくある問題であるに違いないので、Googleがこれ以上回答を出さなかったことに驚いています。私はいくつかの異なる種類のエンティティを持つRailsアプリに取り組んでいます。それらのエンティティは、異なるエンティティとの関係が必要です。例えば:
Address:番地の詳細を格納するモデル(これは私の共有エンティティです)PersonContact:自宅の電話、携帯電話、メールアドレスなどを含むモデル。このモデルには、アドレスが関連付けられている必要がありますDogContact:明らかに、犬に連絡したい場合は、犬が住んでいる場所に行かなければなりません。
したがって、PersonContactへDogContactの外部キーが必要Addressです。たとえ、それらは実際にはの「所有」オブジェクトですがAddress。これはaccepts_nested_attributes_for、外部キーがAddress正しく機能することを期待していることを除いて、問題ありません。
外部キーを保持するが、所有オブジェクトであり続けるための正しい戦略はAddress何PersonContactですかDogContact?