2010-11-11 21 views

Respuesta

15

Para los botones de radio, debe iterar usted mismo y dar salida a cada botón de radio y su etiqueta. Es realmente fácil, de hecho.

<% RequestType.all.each do |rt| %> 
    <%= f.radio_button :request_type_id, rt.id %> 
    <%= f.label :request_type_id, rt.title %> 
<% end %> 

O en haml en caso de que se prefiere sobre erb:

- RequestType.all.each do |rt| 
    = f.radio_button :request_type_id, rt.id 
    = f.label :request_type_id, rt.title 
+0

Gracias, funcionó muy bien pero tuve que trabajar con ingenio h la etiqueta FOR para que coincida con el botón de opción. – AnApprentice

+0

@AnApprentice - Hizo algunos buscando lo mismo y encontró esta respuesta: http://stackoverflow.com/a/4921732/247763 – derekerdmann

+0

Alguna idea de cómo hacer esto, pero con valores fijos. Quiero decir, en lugar de 'Model..all.each', ¿tienes algo como' for i in 0..5'? – Sebastialonso

0

No creo que haya una opción por defecto en Rails para lograr esto; afortunadamente los complementos son su amigo y creo que lo que quiere es muy fácil con simple_form.

0

Aquí está el botón de radio que puede el siguiente como tal: -

<%= f.radio_button:request_type_id,'1',{"id","title"} %>id 
<%= f.radio_button:request_type_id,'2',{"id","title"} %>title 
1

Usando simple_form joya:

En el controlador:

@request_types = RequestType.all 

En una forma:

<%= f.association :request_type, collection: @request_types, as: :radio_buttons %> 
0

Un ejemplo de cómo utilizar f.collection_radio_buttons con un Enum como una colección:

<%= f.collection_radio_buttons :reason, MyEnum.statuses.map {|k,v| [k,k]}, :first, :last do |b| %> 
    <div class='your-class'> 
    <%= b.radio_button %> 
    <%= b.label %> 
    </div> 
<% end %> 
Cuestiones relacionadas