У меня есть таблица под названием DueAction, и у нее есть ссылка DueEmployeeDetail. Мне нужно обновить столбец is_confimed для параметра DueEmployeeDetail только тогда, когда все записи таблицы DueAction, имеющие ссылку таблицы DueEmployeeDetail, верны. Например. если есть 5 записей, и только 3 истинно, то is_confirmed не должен обновляться до true.Поиск истинного значения в рельсах
in model i have written this :-
def is_exist(due_employee_detail)
\t # byebug
\t flag = 0
DueAction.exists?(is_confirm: true,due_employee_detail_id: due_employee_detail)
flag
end
in controller i have wriien this:-
if @due_action.is_exist(@due_action.due_employee_detail_id)
DueEmployeeDetail.where(id: @due_action.due_employee_detail_id).update_all(is_confirmed: true)
else
end
but its not working.Its checking only true not checking whether all are true or not.
и как я могу получить доступ к этому методу в контроллере? –
Этот метод содержится в DueEmployeeDetails «жизненный цикл». Всякий раз, когда вы вызываете сохранение на нем, эти обратные вызовы будут автоматически запускаться. 'due_employee_detail = DueEmployeeDetail.find (some_id) due_employee_detail.save' вызовет указанную логику – Codextremist