2012-06-24 83 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