2014-06-18 9 views
7

Quindi sto provando a impostare il primo pulsante di opzione come predefinito per un modulo. Non riesco a capire come farlo. Posso ottenere tutti gli ingressi di avere checked="checked" mediante aggiunta controllato: vero o controllato: 'controllato' nelle opzioni di html, come nell'esempio seguente:Come si imposta un'opzione di controllo predefinita con Rails collection_radio_buttons?

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

Ho provato a specificare controllato: @category.first, come nel seguente:

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

Ma anche questo non funziona. Nessuno degli input è controllato.

Qualche idea?

risposta

12

penso che si dovrebbe segnato id da controllare, in modo da passare alla { checked: @category.first.id }

+1

Questo è corretto. Puoi consultare la documentazione per ulteriori riferimenti e usi di esempio: http://apidock.com/rails/v4.0.2/ActionView/Helpers/FormOptionsHelper/collection_radio_buttons –

+6

Ha funzionato! Anche se, ho dovuto inserire l'hash delle opzioni, e non l'hash html_options (che è dove l'avevo prima). – AdamB

+0

Grazie - ha faticato per un po '. – skwidbreth

0

Per me funziona scrivendo che nei primi rami {}, in questo modo:

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