0

如何使用 rails 辅助标签为表单选择选项设置不同的 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"

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

4

1 回答 1

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'
于 2013-06-27T23:01:35.390 回答