2012-06-24 4 views
20

also stelle ich eine Sammlung zusammen.Schienen collection_select Standardoption?

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

Ich versuche, die Standardauswahl zu bekommen mit der ID von 7 Preisklasse werden, dies ist unabhängig und beruht nicht auf einem der Benutzer-Einstellungen, dessen Teil einer Form, die die Elemente ändert angezeigt auf der Seite nach ihrer Preisklasse.

* * * UPDATED EFFORTS * * * 

Ich habe

@price_higher = PriceRange.find(7) 

an den Controller, der die Ansicht Griffe und

, {:selected => @price_higher.value} 

innerhalb des collection_select hinzugefügt. Es scheint der Trick zu sein, obwohl es nach einer weniger komplizierten Art suchte, alles innerhalb von collection_select zu tun.

Antwort

33

Fügen Sie die Option :selected hinzu.

Beispiel:

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

Beispiel aus nahm: ApiDock

In Ihrem Fall:

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

der Grund, warum ich vermeiden, dass ist, dass der Wert der Straße herunterschalten kann, und Ich versuche, zusätzlichen Code zu begrenzen, der in der Zukunft aktualisiert werden muss, ich auch, was zu vermeiden, dass etwas bricht, wenn dieses Element in der Datenbank geändert wird und nicht in der Ansicht aktualisiert wird. – mediarts

+2

so ... Ich glaube, Sie möchten genauer erklären, was Sie wollen ... – Nobita

Verwandte Themen