所以我正在整理一个集合选择。
<%= collection_select :PriceRange, "7", PriceRange.where('value > 0'), :value, :name %>
我正在尝试将默认选择设为PriceRange,其ID为7,这是独立的,并且不依赖于任何用户设置,它是更改页面上显示的项目的表单的一部分他们的价格范围。
* * * UPDATED EFFORTS * * *
我添加了
@price_higher = PriceRange.find(7)
到处理视图的Controller,并添加了
, {:selected => @price_higher.value}
<_>在collection_select中。它似乎可以解决问题,尽管在collection_select中寻找一种不那么复杂的方法。
答案 0 :(得分:37)
添加: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"} %>
答案 1 :(得分:1)
如果要从数据库中选择默认值,请使用
collection_select(:post, :author_id, Author.all, :id, :name_with_initial, {:selected => @authors.first})
如果要提示消息,请使用
collection_select(:post, :author_id, Author.all, :id, :name_with_initial, {:prompt => "Select Post"})
答案 2 :(得分:0)
collection_select(:post, :author_id, Author.all, :id, :name_with_initial, {:selected => @authors.first})
这可确保值始终来自获取数据的DB,并且可以在数据库更改时更改。