app/views/companies/_form.html.erb
<%= form_for(@company) do |f| %>
<%= error_messages_for @company %>
<div class="field">
<%= f.label :name %><br>
<%= f.text_field :name %>
</div>
<div class="field">
<%= f.label :website %><br>
<%= f.text_field :website %>
</div>
<div class="field">
<fieldset class='company_categories_checkboxes'>
<legend>Categories</legend>
<% @checkbox_name = 'company[category_ids][]' %>
<%= hidden_field_tag(@checkbox_name, nil) %>
<ul>
<% generate_category_checkboxes do |category| %>
<% checked = checked?(category.id) %>
<% id = dom_id(category) %>
<li>
<%= check_box_tag(@checkbox_name, category.id, checked, id: id) %>
<%= label_tag(id, category.name) %>
</li>
<% end %>
</ul>
</fieldset>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>