У меня очень большая модель Project
, и я использую множество вкладок, чтобы показать разные части формы.Ошибки группы Rails
Идея: каждая вкладка группирует определенное подмножество полей для моей модели, и если есть ошибка, я хотел бы выделить заголовок вкладки красным цветом.
Это очень просто для вложенных ассоциаций, потому что я просто должен проверить object.errors[:association].any?
Но для всех других областях, это было бы очень утомительно делать
object.errors[:name] or object.errors[:start_date] or object.error[:end_date]...
Есть ли способ сгруппировать некоторые ошибки вместе? Ниже следует вернуть истину, если есть ошибки в любом :name, :start_date
...
object.errors[:basic_params].any?
В моем HTML выглядит как этот
<ul class="nav nav-tabs" role="tablist">
<li><a href="#tab-summary" data-toggle="tab">Résumé</a></li>
<li><a href="#tab-echanges" data-toggle="tab"
<%= 'class="text-danger"'.html_safe if @etude.errors[:echanges].any? %>>Echanges</a>
</li>
<li><a href="#tab-params" data-toggle="tab"
<%= 'class="text-danger"'.html_safe if @etude.errors[:basic_params].any? %>>Paramètres</a>
</li>
<li><a href="#tab-phases" data-toggle="tab"
<%= 'class="text-danger"'.html_safe if @etude.errors[:phases].any? %>> Phases</a>
</li>
<li><a href="#tab-candidatures" data-toggle="tab"
<%= 'class="text-danger"'.html_safe if @etude.errors[:competences].any? %>> Candidatures</a>
</li>
я знаю, в то же время я могу сделать что-то вроде этого, но мне очень хотелось бы иметь систему группировки ошибок.
[:name, :start_date, :end_date].each do |field|
return true if object.errors.include?(field)
end
Вы имеете в виду этот драгоценный камень: https://github.com/adzap/grouped_validations? – BroiSatse
F ***. Да, конечно. Драгоценный камень довольно старый, но я считаю, что он все еще работает с Rails 4? Если да, то вы можете добавить правильный ответ, который я буду отмечать как принятое решение. –
Ouch. В соответствии с проблемами, он несовместим с rails 4.1+ –