PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Rails 5 form_for con array di checkbox

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 %>