Это простой вопрос, который мне стыдно спрашивать, но я ударился головой о стену и без каких-либо успехов перешел через рельсы 3:/
Итак, вот что:
Когда я использую помощник fields_for
, он обертывает сгенерированные поля тегом <div class="fields"> ... </div>
.
поэтому мой код
<ul class="block-grid two-up">
<%= f.fields_for :images do |image_builder| %>
<%= render "images/form", :f => image_builder %>
<% end %>
</ul>
а сгенерированный html:
<ul class="block-grid two-up">
<div class="fields">
<div>
<label for="company_images_attributes_0_image"> Image</label>
<input id="company_images_attributes_0_image"
name="company[images_attributes][0][image]" type="file">
</div>
</div>
<div class="fields">
<div>
<label for="company_images_attributes_1_image"> Image</label>
<input id="company_images_attributes_1_image"
name="company[images_attributes][1][image]" type="file">
</div>
</div>
</ul>
Что я хочу сделать, это изменить тег обертки <div class="fields">
на <li>
.
В документации говорится, что вы можете передавать параметры в поля fields_for, но неясно, какие параметры вы можете передать, возможно, вы можете изменить этот тег обертки?
Возможность может заключаться в переопределении функции, вроде ActionView::Base.field_error_proc
, когда в форме есть ошибка.
Быстрое редактирование: я забыл упомянуть, что я использую simple_form для создания этой формы. Я попытался найти в конфигурационном файле simple_form.rb
способ настройки, но я не видел никакого способа сделать это.
Решение После дальнейшего исследования выясняется, что форма использовала камень nested_form, чтобы сгенерировать форму (а не только simple_form). Этот генератор вызывал поля, которые должны быть завернуты в тег div. Спасибо всем за их предложения!