PG::未定义表: 错误: 缺少表 "user_events" 的 FROM 子句条目



我有一个有点古怪的情况。我不确定这是否是 Rails 错误(我使用的是 4.1.4 版(。也许,我需要升级我的版本。

本质上:

我的Event模型具有以下关联:

has_many :attendees, -> { order(:name).select('users.*, user_events.event_title') },
through: :user_events,
source: :user

这样做的目的是让我参加活动的用户,并通过user_events加入表,它也会让我获得他们的event_title

这适用于简单情况:event.attendees

但是,它会在以下方面出错:

Event.includes(:attendees).where.not(title: "wow")

问题基本上是user_events没有添加到错误的命令中的 FROM 子句中。不过,它是在event.attendees中添加的。

如何正确添加它?

我已经尝试过Event.includes(:attendees).joins(:user_events).where.not(title: "wow")但它会增加错误的SQL调用user_events

我在这里得到的是,你需要那些标题不是上述查询"哇"的人?正确。 如果是这样,那么您应该在那里使用引用方法,因为 rails 不理解标题在"user_events"表上,因为您从 Event 中调用了它,您也可以这样写

Event.include(:attendees(.joins(:user_events

(.where.not(user_events: {标题:"哇"}(

最新更新