Reputation: 11
I have an issues with select tag default value. Controller code:
def edit
@folder = Folder.find(params[:id])
@parents = Folder.all.where(:user_id => current_user).map{|u| [ u.name, u.id ]}
end
@parents returns [["tt", 2], ["test", 3], ["test", 4], ["gg", 5], ["test", 1], ["gg", 6], ["tt", 7], ["test 2", 8], ["test 2", 9], ["HH", 10], ["Default", 16], ["Default 33", 17], ["XX", 18]]
My View code:
<%= form_for(:folder, :url => {:action => 'update', :id => @folder.id}) do |f| %>
<table summary="Folder form fields">
<tr>
<th>Name</th>
<td><%= f.text_field(:name) %></td>
</tr>
<tr>
<th>Parent folder:</th>
<td>
<%= f.select(:parent_id, options_for_select(@parents))%></td>
</tr>
<%= f.hidden_field :user_id, :value => current_user.id %>
</table>
...
Select displays folder names correctly, but how to make a default value? I've tried different approaches already, still no result. :selected => value and options_for_select(@parents, value) doesn't work. Please help.
Upvotes: 0
Views: 1196
Reputation: 1631
Try this,
This should help you..
<%= f.select :parent_id, options_for_select(@parents,''), {:include_blank => true, :default => nil}, :style=>'**any-inline-css-for-this-select-box**',:onchange=>"any_js_function();"%>
Upvotes: 2