2012-06-24 10 views
20

quindi sto mettendo insieme una collezione select.Rails collection_select opzione predefinita?

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

Sto cercando di ottenere la selezione predefinita da pricerange con l'id di 7, questo è indipendente e non si basa su nessuna delle impostazioni degli utenti, parte di una forma che cambia gli elementi suo visualizzato nella pagina dalla loro fascia di prezzo.

* * * UPDATED EFFORTS * * * 

ho aggiunto

@price_higher = PriceRange.find(7) 

al controller che gestisce la vista, e ha aggiunto

, {:selected => @price_higher.value} 

all'interno del collection_select. Sembra che faccia il trucco, anche se cercava un modo meno complicato di fare tutto all'interno del collection_select.

risposta

33

Aggiungere l'opzione :selected.

Esempio:

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

Esempio preso da: ApiDock

Nel tuo caso:

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

la ragione per cui sto evitando cioè che il valore può cambiare lungo la strada, e Sto provando a limitare il codice aggiuntivo che deve essere aggiornato in futuro, inoltre, cosa evitare di infrangere qualcosa se quell'elemento viene modificato nel database e non viene aggiornato sulla vista. – mediarts

+2

quindi ... Credo che tu voglia spiegare in modo più dettagliato ciò che vuoi ... – Nobita

Problemi correlati