Rails:找到对多态关联的约束

时间:2012-10-14 12:50:37

标签: ruby-on-rails-3

两种型号:

User has_one :location, as: locatable
Location belongs_to :locatable, polymorphic: true

到目前为止一切顺利。现在说我想找到一个具有特定名称和城市的用户:

User.joins(:location).where(name: 'Eddie Explosion', location: { city: 'Kaboom' })

......但当我跑步时,热潮,

  

ActiveRecord :: StatementInvalid:PG ::错误:错误:表“location”缺少FROM子句条目。

知道这里发生了什么/如何解决这个问题?似乎无法弄明白。

1 个答案:

答案 0 :(得分:1)

我无法真正尝试你所拥有的确切案例,但我已经做了类似于你在我的应用程序中想要做的事情,下面是一个例子:

User.joins(:locations).where("users.name = 'Eddie Explosion' AND locations.city = 'Kaboom'")

干杯:))