使用rails helper标签为表单选择选项使用不同的id和名称?

时间:2013-06-27 22:44:31

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1 ruby-on-rails-3.2

如何使用rails helper标签为表单选择选项提供不同的id和名称?

 select_tag "test['data']",options_from_collection_for_select(@test_data, 'id', 'name', @test_data.id),:prompt => @test_data.name

在上面的例子中,名称需要是test ['data']返回的内容。  但我想把id命名为别的东西。我该怎么做?

我希望id为所有人的固定值。但名称应基于test ['data']

select id="my_test" name="whatever test['data'] is returned"

我需要一些javascript操作的id。例如。自动提交

1 个答案:

答案 0 :(得分:1)

这一切都取决于你想要的id。您可以指定@test_data成员拥有的任何方法。

例如

 options_from_collection_for_select(@test_data, 'email', 'name')

将从email内的成员返回@test_data

options_from_collection_for_select(@test_data, 'my_method', 'name')

将返回每个集合成员的my_method返回值。

这完全取决于您在@test_data集合中存储的内容以及这些成员的响应方式。

此处有更多信息

http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#method-i-options_from_collection_for_select

<强>更新

select_tag "test['data']",options_from_collection_for_select(@test_data, 'id', 'name', @test_data.id),:prompt => @test_data.name, :id => 'my_id'