Фильтр по полям из объединенной таблицы при использовании включений - PullRequest
0 голосов
/ 11 декабря 2018

У меня есть 2 модели, подобные этой:

Account - имеет 2 столбца account_id и account_name

MonthForecast - имеет 3 столбца - account_id, entity и report_key

У меня has_many :month_forecasts определено в Account и belongs_to :account определено в MonthForecast.

Я использую такие включения, как:

@months = Account.includes(:month_forecasts)

Как применить условие фильтра к полю, которое существует только в MonthForecast во время операции includes, указанной выше?

1 Ответ

0 голосов
/ 11 декабря 2018

Вам необходимо включить имя объединенной таблицы в where, как показано ниже (в зависимости от версии направляющих, вам также может потребоваться включить .references(:month_forecasts)):

Account.includes(:month_forecasts)
       .where(month_forecasts: { field: :value })
...