Когда вы передаете строки в метод where
, требуется, чтобы вы записали его как допустимый запрос SQL.И в вашем случае проблема в том, как вы ссылаетесь на имя таблицы.Хотя rails может анализировать структуру Hash и через объявление belongs_to
и has_many
, может понять, что означает следующее
{ task: { job: { order: { due_date: Date.today } } } }
, база данных не понимает, что делать со следующим.
tasks.job.order.due_date
И это тоже не нужно.Поскольку вы уже указали, как таблицы связаны друг с другом с помощью joins(job: :order)
, все, что вам нужно сказать в вызове where
, это следующее:
.where("orders.due_date > ?", DateTime.now)