<%= select_tag(:services, options_from_collection_for_select(Service.all, :id, :name))%>
И он отображает все услуги ...
Но я хочу, чтобы это было что-то вроде:
Select a service Service1 Service2 Service3 Service4
В большинстве случаев вы не хотите добавлять что-либо непосредственно в массив; любое из них является более чистым решением:
:prompt => "Placeholder"
:include_blank => "Placeholder"
<%= select_tag(:services, Service.all.collect { |c| [c.id, c.name] }. insert(0, "Select a Service"))%>
Как ответили на вопрос, это для Rails 2.3. Для Rails 3 см. Ответ Пратана Тананарта.
Лучший способ сделать это - использовать параметр: prompt.Что-то вроде:
select("post", "person_id", Person.all.collect {|p| [ p.name, p.id ] }, {:prompt => 'Select Person'})
http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html