NoMethodError: неопределенный метод `где ' - PullRequest
1 голос
/ 16 января 2020

Стол Биллингс имеет office_id (таблица «Офисы» имеет много связей с таблицей «Биллингс») и Issue_id (таблица «Проблемы» имеет много связей с таблицей «Биллингс»).

Я хочу, чтобы billings_ids всех счетов, принадлежащих офису, которые выполнить условие ниже. В офисе может быть несколько billing_ids.

В каждом офисе должно быть одно электронное письмо со всей информацией для выставления счетов о проблемах.

Я не уверен, смогу я объяснить или нет.

namespace :office do
  desc "send reminder emails"
  task send_reminder: :environment do
    Office.all.each do |office|
      office.issues.each do |issue|
        issue.where("issues.amount > 0").joins(:billings).where (issue.billings.last.date < Message.last.date)
      end
      ReminderWorker.perform_async(billing_ids)
    end
  end
end

Ответы [ 2 ]

1 голос
/ 16 января 2020

вы можете сделать так issue.billings.where("billings.date < ?", Message.last.date) это будет работать

1 голос
/ 16 января 2020

where работа над коллекцией объектов не одного объекта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...