これはおそらく非常に単純ですが、私はまだ問題を理解できていません。
私は3つのテーブルを持っています...(それ以上)が、このシナリオでは3つが重要です。
場所の予約と評価
Places has_many の予約
各予約には、(ユーザーが 1 回だけ評価するため) 1 つの評価があり、belongs_to (a) 場所
評価の所属先 (a) 予約
したがって、予約には評価が 1 つしかありませんが、場所には多くの予約があるため、場所には予約を通じて has_many の評価があります。
しかし、これはうまくいかないようですか?残りはすべてそうです。
Bookingsにはplace_idがあり、Ratingsにはbooking_idがあり、関連付けを通じて他のすべてのhas_manyで成功しました... has_oneだけではありませんか? 何か案は?ありがとう
追加: Bookings を has_many :ratings に変更すると機能しますが、予約ごとに評価が 1 つしかないため、これは良いことではないようです。
Invalid source reflection macro :has_one for has_many :ratings, :through => :bookings. Use :source to specify the source reflection.