PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Rails 5 form_for com array de checkbox


Há um collection_check_boxes método auxiliar para isso:
<%= form_for @course do |f| %>
  <%= f.collection_check_boxes(:level, { 'One': 1, 'Two': 2, 'Three': 3 }, :last, :first) %>
<% end %>

O terceiro argumento é o método usado para obter o valor da "coleção", e o quarto é o método usado para obter o rótulo da "coleção". Este método auxiliar converte automaticamente o Hash em um array, é por isso que estou usando last e first aqui.

Também é possível estilizá-lo da maneira que você quiser, por exemplo. 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 %>