문제

이것은 아마도 매우 간단하지만 아직 문제를 해결할 수 없었습니다.

나는 3 개의 테이블이 있습니다 ... (그 이상) 그러나이 시나리오에서는 3 가지가 중요합니다.

예약 및 등급을 배치합니다

has_many 예약

각 예약은 has_one 등급 (사용자가 한 번만 평가하기 때문에) 및 속임수 _to (a) 장소

등급은 소속 _to (a) 예약

예약은 등급이 단 한 개만 있지만, 장소는 예약을 통해 예약을 통해 등급을 부여하는 장소에도 많은 예약도 있습니다.

그러나 이것은 작동하지 않는 것 같습니다. 나머지는 모든 것 같습니다.

예약은 place_id가 있고 등급은 Booking_id를 가지고 있으며, 나는 협회를 통해 다른 모든 has_many와 성공했습니다. 어떤 아이디어? 감사

추가 : 예약을 has_many로 변경하면 등급이 효과가 있습니다 ... 그러나 예약은 예약 당 하나의 등급 만 가지게됩니다. 그래서 이것은 좋은 것 같지 않습니다.

Invalid source reflection macro :has_one for has_many :ratings, :through => :bookings.  Use :source to specify the source reflection.
도움이 되었습니까?

해결책

has_many :through 함께 작동하지 않습니다 has_one 조인 모델에 대한 관계; 자세한 내용은 다음 레일 티켓을 참조하십시오.

가능하면 최상의 솔루션은 아마도 예약을 수정하는 것입니다. belongs_to 보다는 등급 has_one 평가.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top