2011-09-18 22 views
8

Aquí hay un fragmento de código en edit.html.erb que no funciona. El objetivo del código es completar un formulario para su edición. La colección se usa con la opción de sí y no. ¿Cómo puedo configurar la colección al valor 'activo' actual con: opción seleccionada?Cómo establecer el valor actual en la colección en simple_form

<%= simple_form_for @category do |f| %> 

    <%= f.input :name, :disabled => true, :required => false %> 
    <%= f.input :description %> 
    <%= f.input :active, :collection => ['Yes', 'No'], :selected => f.active %> 
    <%= f.button :submit %> 
<% end %> 

El error que dice que el activo no es un método en f.input: active,: collection.

Respuesta

13

Suponiendo que el atributo active para las categorías es un valor lógico, prueba:

:selected => (@category.active? ? 'Yes' : 'No') 
+0

No funcionó. La colección Active solo muestra Sí, incluso el activo es falso. Gracias. – user938363

+0

¿El atributo 'active' es booleano? Tendría más sentido que sea un booleano, pero si es una cadena, prueba con ': selected => (@ category.active == 'Yes'? 'Yes': 'No')' – James

+0

Sí, active is a booleano – user938363

Cuestiones relacionadas