2012-06-24 17 views
20

así que estoy armando una selección de colecciones.Rails collection_select opción predeterminada?

<%= collection_select :PriceRange, "7", PriceRange.where('value > 0'), :value, :name %> 

Estoy tratando de obtener la selección por defecto que se pricerange con el id de 7, esto es independiente y no se basa en ninguna de las configuraciones de los usuarios, es parte de una forma que cambia los elementos mostrados en la página por su rango de precio.

* * * UPDATED EFFORTS * * * 

I añadió

@price_higher = PriceRange.find(7) 

al controlador que maneja la vista, y se añadió

, {:selected => @price_higher.value} 

dentro de la collection_select. Parece hacer el truco, aunque estaba buscando una forma menos complicada de hacerlo todo dentro de collection_select.

Respuesta

33

Agregue la opción :selected.

Ejemplo:

collection_select(:post, :author_id, Author.all, :id, :name_with_initial, {:selected => "whatever_value"}) 

Ejemplo tomó de: ApiDock

En su caso:

<%= collection_select :PriceRange, "7", PriceRange.where('value > 0'), :value, :name, {:selected => "whatever"} %> 
+0

la razón por la que estoy evitando es decir que el valor puede cambiar en el futuro, y Estoy tratando de limitar el código adicional que necesita actualizarse en el futuro, también quiero evitar algo que se rompa si ese elemento se cambia en la base de datos y no se actualiza en la vista. – mediarts

+2

así que ... Creo que quieres explicar con más detalle lo que quieres ... – Nobita

Cuestiones relacionadas