Er is een collection_check_boxes helpermethode hiervoor:
<%= form_for @course do |f| %>
<%= f.collection_check_boxes(:level, { 'One': 1, 'Two': 2, 'Three': 3 }, :last, :first) %>
<% end %>
Het derde argument is de methode die wordt gebruikt om de waarde uit de "verzameling" te halen en het vierde is de methode die wordt gebruikt om het label uit de "verzameling" te halen. Deze hulpmethode zet de hash automatisch om in een array, daarom gebruik ik last
en first
hier.
Het is ook mogelijk om het te stylen zoals jij dat wilt, b.v. Bootstrap gebruiken:
<%= f.collection_check_boxes(:level, { 'One': 1, 'Two': 2, 'Three': 3 }, :last, :first) do |b| %>
<div class="form-check form-check-inline">
<%= b.check_box class: 'form-check-input' %>
<%= b.label class: 'form-check-label' %>
</div>
<% end %>