これはちょっと恥ずかしい質問ですが、壁に頭をぶつけてレール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
が、それを行う方法が見つかりませんでした。
解決策さらに調査した結果、フォームは(simple_formだけでなく)フォームを生成するためにもnested_formgem を使用していたことが判明しました。このジェネレーターにより、fields_forがdivタグでラップされていました。皆さんの提案に感謝します!