Как мне решить, что мои макеты испортились из-за fields_with_error в приложении RoR? - PullRequest
0 голосов
/ 24 апреля 2020

Я использую пользовательский интерфейс Fomanti c (Semanti c) в моем Ruby на Rails, и я понимаю, что мои формы портятся при сбое валидации из-за автоматически добавленного класса fields_with_errors. Есть ли известное исправление для этого?

Перед отправкой моя форма выглядит следующим образом

enter image description here

После неудачной отправки, где ничего не вводится ни в одно из полей, это выглядит так

enter image description here

1 Ответ

0 голосов
/ 24 апреля 2020

В одном из моих проектов я использую следующий код внутри config/application.rb

    config.action_view.field_error_proc = Proc.new do |html_tag, instance|
      %Q(<div class="field error">#{html_tag}</div>).html_safe
    end

Этот код использует semanti c способ указания полей в состоянии ошибки. Вы можете дополнительно настроить этот параметр в соответствии со своими потребностями, см. Подробности в rails docs . Следующим важным моментом является дополнительная проверка вашего тега формы для добавления класса semanti c ui form error, что-то вроде:

form_for(@model, html: {class: @model.errors.any? ? 'ui form error' : 'ui form'}) do |f|

Это покажет сообщения об ошибках, если вы их используете.

...