Ruby select标签选项默认值

时间:2014-07-14 12:00:00

标签: ruby-on-rails ruby select html-helper

我对选择标记默认值有疑问。 控制器代码:

def edit
@folder = Folder.find(params[:id])
@parents = Folder.all.where(:user_id => current_user).map{|u| [ u.name, u.id ]}
end

@parents返回[[" tt",2],[" test",3],[" test",4],[&#34 ; gg",5],[" test",1],[" gg",6],[" tt",7],[& #34;测试2",8],["测试2",9],[" HH",10],["默认",16 ],["默认33",17],[" XX",18]]

我的观看代码:

<%= 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>
...

选择正确显示文件夹名称,但如何设置默认值?我已经尝试了不同的方法,仍然没有结果。 :selected =&gt; value和options_for_select(@ parent,value)不起作用。请帮忙。

1 个答案:

答案 0 :(得分:2)

试试这个,

这应该对你有帮助..

<%= 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();"%>