2014-06-18 16 views
7

Ich versuche also, das erste Optionsfeld standardmäßig für ein Formular aktiviert zu setzen. Ich kann nicht herausfinden, wie es geht. Ich kann alle Eingänge erhalten zu checked="checked" haben durch Zugabe geprüft: true oder geprüft: ‚geprüft‘ in den HTML-Optionen, wie in der folgenden:Wie lege ich eine voreingestellte Option mit Rails collection_radio_buttons fest?

<%= f.collection_radio_buttons :category_id, @categories, :id, :name, {}, { checked: true } %> 
<%= f.collection_radio_buttons :category_id, @categories, :id, :name, {}, { checked: 'checked' } %> 

Ich habe versucht geprüft folgende Angaben enthalten: @category.first, wie in der folgende:

<%= f.collection_radio_buttons :category_id, @categories, :id, :name, {}, { checked: @category.first } %> 

Aber das funktioniert auch nicht. Keine der Eingaben wird überprüft.

Irgendwelche Ideen?

Antwort

12

Ich denke, Sie sollten id geprüft werden markiert, so ändern zu { checked: @category.first.id }

+1

Das ist richtig. Sie können die Dokumentation für weitere Referenz- und Beispielanwendungen ansehen: http://apidock.com/rails/v4.0.2/ActionView/Helpers/FormOptionsHelper/collection_radio_buttons –

+6

Das hat funktioniert! Allerdings musste ich den Optionen-Hash und nicht den html_options-Hash (wo ich ihn vorher hatte) einfügen. – AdamB

+0

Danke - kämpfte mit dieser für eine Weile. – skwidbreth

0

Für mich in den ersten Filialen funktioniert schriftlich {}, auf diese Weise:

form.collection_radio_buttons(:category_id, @categories, :id, :name, { checked: @categories.first.id }, { class: "category-options"}) 
Verwandte Themen