Это, вероятно, довольно просто, но я еще не смог обернуть голову вокруг проблемы.
У меня есть 3 таблицы ... (что более важно), но в этом сценарии 3 это имеет значение.
Места
Бронирование и
Рейтинги
Места есть_ много заказов
Каждое бронирование имеет один рейтинг (потому что пользователь оценивает только один раз) и принадлежит_ (а) Место
Рейтинги принадлежат_ (а) Бронирование
Таким образом, несмотря на то, что у бронирований только один рейтинг, места имеют рейтинги has_many через бронирования, поскольку у мест также много бронирований
но это не похоже на работу? Все остальные кажутся.
Бронирования имеют place_id, а у Рейтингов - booking_id, и я успешно справлялся со всеми другими has_many через ассоциации ... только не has_one? Есть идеи? Спасибо
дополнение: если я изменю Бронирования на has_many: рейтинги работают, но у бронирований будет только один рейтинг на бронирование ... так что это не очень хорошая вещь.
Invalid source reflection macro :has_one for has_many :ratings, :through => :bookings. Use :source to specify the source reflection.