I tried :include_blank => true
, but it didn\'t work.
提交评论
-
加载中...
I think you want this format:
select("model_name", "model_id", Model.all.collect {|mt| [ mt.name, mt.id ] }, {:include_blank => 'name of your blank prompt'})
BTW: was assuming Modle was suppose to be Model. To use using collection_select:
collection_select(:model, :model_id, Model.all, :id, :name, :prompt => true)
讨论(0)
= select_tag "some_value", options_for_select(Model.all.collect{ |x| [x.name, x.id]}.prepend([t('helpers.some_name'), nil]), :selected => params[:some_value])
讨论(0)
Since you have tagged as select-tag you can use the option include_blank
with select_tag
.
From the documentation:
select_tag "people", options_from_collection_for_select(@people, "id", "name"), :include_blank => true
# => <select id="people" name="people"><option value=""></option><option value="1">David</option></select>
Or you can use options_for_select
:
<%= select_tag column.name, options_for_select(Model.all.collect{|mt| [mt.name, mt.id]}), :include_blank => true %>
讨论(0)
<%= options_for_select Model.all.collect{|x| [x.name,x.id]}.unshift(["",nil]) %>
讨论(0)
If you want a slick solution you can use my gem rearmed_rails which has a feature in it that safely monkey patches options_for_select
and options_for_collection_select
rails g rearmed_rails:setup
Open config/initializers/rearmed_rails.rb
and change the following values to true
options_for_select_include_blank: true,
options_from_collection_for_select_include_blank: true
Now whenever you need a blank included simply do the following:
<%= options_for_select(Model.all.map{|x| [x.name,x.id]}, include_blank: true) %>
讨论(0)
- 热议问题