Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Style Rails collection_check_boxes

I been trying to apply some CSS classes to collection_check_boxes but I can't get it to work. Right now I doing this:

<div class="form-group">
    <%= f.collection_check_boxes(:brand_ids, Brand.all, :id, :name) do |b| %>
        <%= b.label { b.check_box + b.text } %>
    <% end %>
</div>

which outputs this HTML:

<div class="form-group">
    <label for="user_brand_ids_1">
        <input id="user_brand_ids_1" name="user[brand_ids][]" type="checkbox" value="1">Brand 1
    </label>
    <input name="user[brand_ids][]" type="hidden" value=""> 
</div>

Instead I would like to output this HTML:

<div class="form-group">
    <label class="label-checkbox" for="user_brand_ids_1">
        <input id="user_brand_ids_1" name="user[brand_ids][]" type="checkbox" value="1">
        <span class="custom-checkbox"></span>Brand 1
    </label>
    <input name="user[brand_ids][]" type="hidden" value=""> 
</div>

I've tried the following, which doesn't work...

<div class="form-group">
    <%= f.collection_check_boxes(:brand_ids, Brand.all, :id, :name, {}, {class: 'label-checkbox'}) do |b| %>
        <%= b.label { b.check_box + b.text }, class: 'label-checkbox' %>
    <% end %>
</div>

Any ideas on how could I do this?

like image 488
ro_puente Avatar asked Jul 16 '14 00:07

ro_puente


1 Answers

Try it like this:

    <%= f.collection_check_boxes(:brand_ids, Brand.all, :id, :name) do |b| %>
        <%= b.label class:"label-checkbox" do%>
         <%=b.check_box + b.text%>
        <%end%>
    <% end %>
like image 134
Alejandro Corpeño Avatar answered Sep 17 '22 21:09

Alejandro Corpeño