3
두 가지 모델을 레일즈 3 앱에서 두 가지 방식으로 연결하려고합니다. 사람들은 많은 애완 동물을 가지고 있으며 각 사람은 좋아하는 애완 동물을 가질 수 있습니다.두 모델 간의 다중 연결이
올바른 연관과 외래 키를 사용하고 있습니까?
사용할 필요가 (당신이 예상대로)는 사람 테이블에 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
감사합니다. 정말 바보 같은 질문에 답해 주셔서 감사합니다. 이것은 효과가 있었다. 관계를 설명하는 것처럼 보이지 않기 때문에 "속한"것을 간과했으나 지금은 레일스의 컨텍스트에서 어떻게 수행되는지 봅니다. –
"belongs_to"가 항상 현실 세계에 완벽하게 일치하지는 않는다는 것에 동의합니다. 그것은 99 %의 시간 동안 작동합니다. 어쩌면 애완 동물의 경우, 누가 정리를했는지 기억하는 데 도움이됩니다. :) –