使用options_for_select将hash写入select_tag中的'value'

时间:2014-02-12 08:43:57

标签: ruby-on-rails-3 forms

我有一个看起来像的集合:

CONST_COLLECTION:{
  "Attribute name 1"=>{:one_key=>"First Value", :second_key=>"Second Value"},
  "Attribute name 2"=>{:one_key=>"Value 3", :second_key=>"Value 4"},
  "Attribute name 3"=>{:one_key=>"Value 5", :second_key=>"Value 6"}
}

我必须显示一个下拉列表,其中的选项应为'Attribute name 1',值应为{:one_key=>"First Value", :second_key=>"Second Value"}

这是我的观点:

select_tag("user[selected_attribute]", options_for_select(CONST_COLLECTION))

但是这段代码会产生以下结果:

<option value="Attribute name 1" one_key="First Value" second_key="Second Value">Attribute name 1</option>
<option value="Attribute name 2" one_key="Value 3" second_key="Value 4">Attribute name 2</option>
<option value="Attribute name 3" one_key="Value 5" second_key="Value 6">Attribute name 3</option>

这是控制器在选择第一个选项并提交表单时收到的内容:

Parameters: {..., "user"=>{... "selected_attribute"=>"Attribute name 1", ...}, ...}

Controller仅接收下拉列表的标签,但此散列{:one_key=>"First Value", :second_key=>"Second Value"}未传递给控制器​​。

如何将值传递给控制器​​以在user ['selected_attribute']中接收哈希值,如下所示:

Parameters: {..., "user"=>{... "selected_attribute"=>{:one_key=>"First Value", :second_key=>"Second Value"}, ...}, ...}

谢谢!

0 个答案:

没有答案