0

这可能很简单,但我还没有能够围绕这个问题来解决我的问题。Rails has_many通过单数协会

我有3个表格...(远远超过这个),但在这种情况下3。

地方 预订和 评级

地方的has_many预订

每个预订HAS_ONE等级(因为用户只需息一次)和belongs_to的(a)把

评级belong_to(一)预定

所以,即使预订只有一个评级,通过预订的地方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. 

回答

1

has_many :through对于连接模型上的has_one关系不起作用;看到下面的Rails的门票信息:

如果可能的话,最好的办法可能是修改你的关系,使房间的预定belongs_to一个等级,而不是has_one评级。

+0

太好了,谢谢!我刚刚从2.3.2上升到2.3.4,现在该协会似乎工作。 – holden 2009-12-01 11:12:40