2017-08-09 2 views
0

Dans mon simple_form, j'ai un champ qui contient une collection comme une série de cases à cocher. C'est très long et prend beaucoup de place sur le formulaire.Rails 5 - Dénommer une collection dans simple_form avec item_wrapper_tag

Je veux styler le conteneur dans lequel se trouvent les cases à cocher avec CSS de façon à ce qu'il soit limité à une hauteur de 180 pixels et contenu dans une boîte déroulante. Mon code sur le simple_form:

<th>Authors</th> 
    <td><%= f.association :authors, as: :check_boxes, item_wrapper_tag: :div, item_label_class: 'h_180', label: false, collection: Author.order('name ASC') %></td> 

J'ai Enveloppez la sortie des rails dans un div avec item_wrapper_tag: :div. Comment puis-je style cette div? Ni item_label_class ni item_wrapper_class ne fonctionnent.

Répondre

0

J'ai une sélection de cases à cocher dans mon application, mais je mis en œuvre un peu différemment:

<%= f.collection_check_boxes(:item_ids, Item.all.sort_by { |x| x.name }, :id, :name) do |b| %> 
    <%= b.label class: "label-checkbox", style:"padding-right:5px" do > 
      <%= b.check_box + " " + b.text + " "%> 
    <% end %> 
<% end %> 

Je pense que vous pouvez le style de la case à cocher à nouveau la façon dont l'étiquette est de style:

<%= (b.check_box class: "checkbox-class", style: "checkbox-style") + " " + b.text + " "%> 

Si vous choisissez d'implémenter la sélection de cette façon, assurez-vous que vous autorisez votre contrôleur à recevoir :item_ids en tant que paramètre.