2016-04-12 10 views
0

Ich habe folgende meiner Ansicht nach zu Kontrollkästchen, bei der die verschiedenen Kategorien wählen:Ändern f.select

<%= form_for(@survey) do |f| %> 
    Categories <br> 
    <%= f.select :category_ids, Category.all.collect {|x| [x.name, x.id]}, {}, :multiple => true %><br> 
    <%= f.submit %> 
<% end %> 

Ich möchte der Benutzer mit Kontrollkästchen Auswahl der Kategorien zu sein, anstatt Liste der Dropdown.

Ich bin mir nicht sicher, wie das möglich ist. Zwei Teile: 1. Wie es mehrere Checkboxen anzeigt und 2. Wie es die Auswahl des Benutzers speichert, wie es für die f.select oben spart.

Der Ansatz (der nicht abgeschlossen ist), den ich von Iterate durch die Kategorien bin und ein Kontrollkästchen für jede Kategorie hinzufügen. Ich bin mir jedoch nicht sicher, ob dadurch sichergestellt wird, dass die verschiedenen Auswahlen gespeichert werden.

<% @categories.each do |category| %> 
    <%= category.name %><br> 
    <%= f.check_box :category_ids %> 

Jede Führung/Spitze in die richtige Richtung wird sehr geschätzt.

Antwort

1

können Sie verwenden collection_check_boxes

<%= f.collection_check_boxes :category_ids, Category.all, :id, :name, {}, :multiple => true %><br>