【问题标题】:Rails has_many through singular associationRails has_man 通过奇异关联
【发布时间】:2009-12-01 10:48:37
【问题描述】:

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

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

地点 预订和 评分

地点有_很多预订

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

评级belong_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.

【问题讨论】:

    标签: ruby-on-rails activerecord associations has-many has-many-through


    【解决方案1】:

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

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

    【讨论】:

    • 太好了,谢谢!我刚刚从 2.3.2 升级到 2.3.4,现在该关联似乎起作用了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-07
    • 2013-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-21
    相关资源
    最近更新 更多