0

2 つのモデル:

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::Error: エラー: テーブル "location" の FROM 句のエントリがありません。

ここで何が起こっているのか/これを修正する方法はありますか? それを理解できないようです。

4

1 に答える 1

1

あなたが持っている正確なケースを実際に試すことはできませんが、私のアプリケーションでやりたいことと同様のことをしました。以下に例を示します。

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

乾杯 :))

于 2012-10-14T13:22:31.007 に答える