text_field tag rails options_from_collection_for_select number form collection ruby-on-rails ruby ruby-on-rails-3 selected form-helpers

ruby-on-rails - tag - rails form



rails erb form helper options_for_select: seleccionado (2)

Tengo una forma de edición en erb.

<%= form_for @animal do |f| %>

Dentro del código tengo una selección con opciones:

<%= f.select :gender, options_for_select([[''Mare''], [''Stallion''], [''Gelding'']], :selected => :gender) %>

Sin embargo, la selección no muestra el valor seleccionado correcto . ¿Qué podría estar haciendo mal? Puedo hacerlo funcionar si lo codifico, pero por supuesto no es una opción viable.


En su código, su llamada options_for_select() establece el valor seleccionado en "género" y no intenta utilizar el valor de su objeto de formulario.

Consulte los documentos para options_for_select() para ver ejemplos de uso.

options_for_select([''Mare'', ''Stallion'', ''Gelding''], f.object.gender) options_for_select([''Mare'', ''Stallion'', ''Gelding''], :selected => f.object.gender)

Alternativamente, puede hacer esto , que ya usará el valor de gender() para su objeto de formulario:

<%= f.select :gender, [''Mare'', ''Stallion'', ''Gelding''] %>


Por cierto, si está utilizando :include_blank => true , esto configurará su selección actual en blanco aunque el formulario "sepa" lo que está seleccionado.