Il existe une collection_check_boxes méthode d'assistance pour cela :
<%= form_for @course do |f| %>
<%= f.collection_check_boxes(:level, { 'One': 1, 'Two': 2, 'Three': 3 }, :last, :first) %>
<% end %>
Le troisième argument est la méthode utilisée pour obtenir la valeur de la "collection", et le quatrième est la méthode utilisée pour obtenir l'étiquette de la "collection". Cette méthode d'assistance convertit automatiquement le hachage en un tableau, c'est pourquoi j'utilise last
et first
ici.
Il est également possible de le styliser comme vous le souhaitez, par ex. en utilisant 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 %>