2012-06-24 70 views
20

所以我在一起收集選擇。Rails的collection_select默認選項?

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

我試圖得到默認的選擇與7的ID來PriceRange,這是獨立的,不依賴於任何用戶的設置,顯示其改變項目的表單的一部分在他們的價格範圍內的頁面上。

* * * UPDATED EFFORTS * * * 

我加入

@price_higher = PriceRange.find(7) 

到處理該視圖中的控制器,並加入

, {:selected => @price_higher.value} 

的collection_select內部。它似乎在做詭計,儘管它正在尋找一種在collection_select內部完成的更簡單的方法。

回答

33

添加:selected選項。

例子:

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

來自實例了:ApiDock

你的情況:

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

我避免的是,該值可能會改變的道路的原因,我試圖限制將來需要更新的額外代碼,如果該項目在數據庫中發生更改並且沒有在視圖上更新,我還應該避免發生中斷。 – mediarts

+2

所以...我相信你想更詳細地解釋你想要什麼... – Nobita