0

这可能很简单,但我还没有解决这个问题。

我有 3 张桌子......(远不止这些)但在这种情况下,3 很重要。

地方预订和评级

地点 has_many 预订

每个预订都有_one评分(因为用户只评分一次)和belongs_to(a)地点

评分belongs_to (a) 预订

因此,即使 bookings 只有一个评分,但是 places has_many 通过 bookings 评分,因为 places 也有很多预订

但这似乎不起作用?其余的似乎都是。

Bookings 有 place_id,Ratings 有 booking_id,我已经通过关联与所有其他 has_many 成功...只是没有 has_one?有任何想法吗?谢谢

另外:如果我将 Bookings 更改为 has_many :ratings 就可以了……但是每次预订都只会有一个评分……所以这似乎不是一件好事。

Invalid source reflection macro :has_one for has_many :ratings, :through => :bookings.  Use :source to specify the source reflection.
4

1 回答 1

1

has_many :through不适has_one用于连接模型上的关系;有关详细信息,请参阅以下 Rails 票证:

如果可能,最好的解决方案可能是修改您的关系,以便预订belongs_to评级而不是has_one评级。

于 2009-12-01T11:04:38.397 回答