Создайте вспомогательный метод и введите следующий код:
def check_resource_status(project_site, resources)
statuses = project_site.send(resources.to_sym).pluck(:status)
statuses.all? ? true : false
end
def status_container(status)
content_tag :div, class: ['sample'] do
status_label = status ? 'Approved' : 'Rejected'
default_class = status ? 'fi-check' : 'fi-x'
status_class = [default_class, status_label.downcase]
concat content_tag(:label, status_label, class: status_class)
end
end
Из файла просмотра:
status_container(check_resource_status(project_site, 'human_resources'))
status_container(check_resource_status(project_site, 'project_directors'))
status_container(check_resource_status(project_site, 'project_managers'))