Когда какая-либо запись имеет определенный атрибут, измените родительский статус - PullRequest
0 голосов
/ 02 мая 2019

Я хочу изменить status записи Job, после того, как для status любого из его дочерних элементов (Jobdetails) установлено значение true.

В основном код должен выглядеть примерно так:

if every Job.jobdetail.status == true
  Job.status = true
end

Проблема в том, что я не знаю, как это проверить.Конечно, я знаю where -состояние в рельсах, но я не уверен, как выразить «любое» без каждой итерации, что в этом случае, я думаю, не сработает.Каждый раз, когда я обновляю Jobdetails, я хочу проверить, «другие» Jobdetails также «выполнены».Представьте себе функцию как индикатор выполнения.Если каждая подзадача выполнена, измените статус основной задачи на выполненную.Как мне этого добиться?

спасибо в отношении.

1 Ответ

1 голос
/ 02 мая 2019

Если вы хотите, чтобы my_job был помечен как готово только после того, как все jobdetails выполнены, вам просто нужно проверить, имеет ли хотя бы один jobdetail status = false:

my_job.status = true unless my_job.jobdetails.find_by(status: false)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...