C'è un collection_check_boxes metodo di supporto per questo:
<%= form_for @course do |f| %>
<%= f.collection_check_boxes(:level, { 'One': 1, 'Two': 2, 'Three': 3 }, :last, :first) %>
<% end %>
Il terzo argomento è il metodo utilizzato per ottenere il valore dalla "raccolta" e il quarto è il metodo utilizzato per ottenere l'etichetta dalla "raccolta". Questo metodo di supporto converte automaticamente l'hash in un array, ecco perché sto usando last
e first
qui.
È anche possibile modellarlo nel modo desiderato, ad es. usando Bootstrap:
<%= 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 %>