Rails Simple Form с Bootstrap удаляют проверки - PullRequest
1 голос
/ 14 мая 2019

У меня есть форма с вложенными ассоциациями has_many, и все работает нормально, кроме случаев, когда она загружает все поля, ранее находящиеся там для редактирования, рядом с ними стоит галочка. Я понял, что делать с simple_form и bootstrap, но не уверен, как их отключить. Вот код формы:

<%= simple_form_for ([current_user, @character]), defaults: {label: false} do |f| %>
          <div id="tasks">
            <%= f.simple_fields_for :character_levels, f.object.character_levels.order(:id) do |l| %>
              <%= render '/characters/DnD5e/class_fields', f: l, character: @character %>
          <% end %>
          <div class="links">
            <%= link_to_add_association 'Add Level', f, :character_levels, partial: 'characters/DnD5e/class_fields', render_options: {locals: {character: @character}}, class: "btn btn-primary" %>
          </div>
        </div>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
        <%= f.submit "Save Changes", class: 'btn btn-primary' %>
      </div>
      <% end %>

вот частичное:

<div class="row nested-fields">
  <div class="col-6">
    <%= f.input :character_class_id, collection: CharacterClass.where('game_type_id=? AND (user_id IS ? OR user_id=?)', character.game_type_id, nil, current_user) %>
  </div>
  <div class="col-4">
    <%= f.input :hp, as: :integer %>
  </div>
  <div class="col-2">
    <%= link_to_remove_association '<i class="material-icons">close</i>'.html_safe, f %>
  </div>
</div>

И вот как это выглядит: enter image description here

Хочешь избавиться от зеленых галочек

1 Ответ

0 голосов
/ 14 мая 2019

Нет необходимости добавлять атрибут novalidate к элементу Input.Но это полностью отключит проверку на стороне клиента (конечно, не проверку RoR).См. Также Документы по начальной загрузке: https://getbootstrap.com/docs/4.0/components/forms/#validation

Так сделайте это в своей части:

<div class="row nested-fields">
  <div class="col-6">
    <%= f.input :character_class_id, html_input: { novalidate:'novalidate'}, collection: CharacterClass.where('game_type_id=? AND (user_id IS ? OR user_id=?)', character.game_type_id, nil, current_user) %>
  </div>
  <div class="col-4">
    <%= f.input :hp, as: :integer, html_input: { novalidate:'novalidate'} %>
  </div>
  <div class="col-2">
    <%= link_to_remove_association '<i class="material-icons">close</i>'.html_safe, f %>
  </div>
</div>
...