как создать div внутри fieldset в рельсах простой формы - PullRequest
0 голосов
/ 10 января 2019

Я получил простую форму со связанными флажками. И мне нужно стилизовать эти флажки с помощью класса начальной загрузки Twitter "col-md-4", который отображает эти флажки в 3 столбцах. но ему нужен класс 'row' для родительского элемента, который является fieldset. когда я назначаю этот класс fieldset, он не работает. но если я изменю родительский элемент на div в браузере devtool, он прекрасно работает. Можно ли каким-то образом создать еще один div внутри fieldset, который будет родительским элементом для всех моих флажков div? или любой другой способ решить мою проблему?

_form.slim
=simple_form_for @test_run do |f|
  =f.error_notification
  =f.association :test_cases, as: :check_boxes, collection: ::TestCase.all, include_hidden: false, :item_wrapper_class => 'col-md-4'
  =f.input :video, as: :radio_buttons, label: 'Record video?'
  =f.submit


html
<fieldset class="form-group check_boxes required test_run_test_cases">
  <legend class="col-form-label pt-0">Test cases <abbr title="required">*</abbr></legend>
  <div class="col-md-4">checkbox</div>
  <div class="col-md-4">checkbox</div>
  .
  .
  .
</fieldset>

и мне нужно что-то вроде этого

<fieldset class="form-group check_boxes required test_run_test_cases">
  <div class="row">
    <legend class="col-form-label pt-0">Test cases <abbr title="required">*</abbr></legend>
    <div class="col-md-4">checkbox</div>
    <div class="col-md-4">checkbox</div>
    .
    .
    .
  </div>
</fieldset>

1 Ответ

0 голосов
/ 22 января 2019

Для меня самым быстрым решением было изменить тег обертки по умолчанию на:

# config/initializers/simple_form.rb
config.collection_wrapper_tag = :div

Это создаст div вокруг флажков или переключателей. Затем вы можете назначить класс этому div, используя collection_wrapper_class в простой форме ввода. Для вашего случая это будет

=f.input :video, as: :radio_buttons, label: 'Record video?', collection_wrapper_class: 'some-class'
...