поэтому я'м собираю коллекцию выбрать.
<%= collection_select :PriceRange, "7", PriceRange.where('value > 0'), :value, :name %>
Я'м пытаясь получить стандартный отбор в ценовом диапазоне с id 7, это не зависит и не'т полагаться на каких-либо настроек пользователя, его часть формы, которая изменяет элементы, отображаемые на странице по их ценовом диапазоне.
* * * UPDATED EFFORTS * * *
Я добавил
@price_higher = PriceRange.find(7)
на контроллер, который обрабатывает вид, и добавил
, {:selected => @price_higher.value}
внутри collection_select. Это, кажется, сделать трюк, хотя искал менее сложный способ сделать это все внутри collection_select.
Добавить :параметр
.
Пример:
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"} %>
Если вы хотите выбрать значение по умолчанию из базы данных, затем использовать,
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"})
collection_select(:post, :author_id, Author.all, :id, :name_with_initial, {:selected => @authors.first})
Это гарантирует значений из БД, где данные извлекаются и могут меняться, если изменения БД.