Question

C'est une question simple que j'ai un peu honte de poser, mais je me suis cogné la tête contre le mur et à naviguer dans la documentation des Rails 3 sans aucun succès: /

Alors, voici la chose:

Quand j'utilise le fields_for helper il enroule les champs générés dans un <div class="fields"> ... </div> étiquette.

Donc, mon code est

<ul class="block-grid two-up">
  <%= f.fields_for :images do |image_builder| %>
    <%= render "images/form", :f => image_builder %>
  <% end %>
</ul>

Et le HTML généré est:

<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>

Ce que je veux faire, c'est changer le <div class="fields"> tag wrapper à <li>.

La documentation indique que vous pouvez transmettre des options à Fields_for, mais ce n'est pas clair sur les options que vous pouvez transmettre, peut-être pouvez-vous modifier cette balise de wrapper?

Une possibilité pourrait être de remplacer une fonction, un peu comme ActionView::Base.field_error_proc Lorsqu'il y a une erreur dans le formulaire.

Edit rapide: j'ai oublié de mentionner que j'utilise Simple_form pour générer ce formulaire. J'ai essayé de regarder dans le simple_form.rb Fichier de configuration pour un moyen de personnaliser cela, mais je n'ai vu aucune façon de le faire.

La solutionAprès une enquête plus approfondie, il s'avère que le formulaire utilisait Nested_form Gem aussi pour générer le formulaire (pas seulement simple_form). Ce générateur provoquait l'enveloppement de Fields_For dans la balise DIV. Merci à tous pour leurs suggestions!

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top