3
2つのモデルを2つの方法でRails 3アプリケーションに関連付けようとしています。人々は多くのペットを飼っており、それぞれの人は1人の好きなペットを持つことができます。2つのモデル間の複数の関連付けを
正しいアソシエーションと外部キーを使用していますか?
私は実際に私がperson.favorite_pet_idないときに、2つの異なる番号を取得し、あなたは人のテーブルにfavorite_pet_idを持っているように見えるので
class Person < ActiveRecord::Base
has_many :pets # pets table has a person_id
has_one :favorite_pet, :class_name => 'Pet' # persons table has favorite_pet_id
end
class Pet < ActiveRecord::Base
belongs_to :person # using person_id in pets table
end
ありがとう、私は本当にあなたの愚かな質問に答えることに感謝します。これはうまくいった。私は "属している"ことを見落としました。なぜなら、関係を説明するようには見えないからですが、今はRailsのコンテキストでどのように動作するかを見ています。 –
私は同意します、 "belongs_to"は必ずしも現実の世界に完全に合っているとは限りません。時間の99%を稼働します。たぶんペットの場合は、後で誰が掃除するのかを覚えておくことができます:) –