将值赋给select_tag中的“default selection parameter” - ruby​​ / rails

时间:2012-01-28 10:12:23

标签: ruby-on-rails

以下是我的选择标记的代码

<%= select_tag "assignee#{cnt}", options_from_collection_for_select(@arr,tmp="id","name" ,     default_selection),  html_options = { :onblur => "myblur(this);", :onChange=> "submit_selected(this);",     :style=> "visibility:visible;" } %>

为上面的行生成的html就像:

<select id="assignee1" name="assignee1" onChange="submit_selected(this);" onblur="myblur(this);" style="visibility:visible;">

<option value="12">Name1</option>
<option value="48">Name2</option>
<option value="15">Name3</option>
<option value="35">Name4</option>

</select>

现在在default_selection参数中,我想使用与选项文本对应的选项值。我有选项文本。

说,我有“Name1”,我想在default_selection参数中使用它的选项值,即12

有任何意见吗?

1 个答案:

答案 0 :(得分:1)

  

有任何意见吗?

是;)的确,您的问题与此部分代码无关。你只需要搜索你的对象@arr。

我的赌注:

default_opt = @arr.select {|o| o.name == 'Name1'}
default_selection = default_opt.id if default_opt

然后按照您已经完成的方式生成<select>