0

如何使用rails helper标签为表单选择选项指定不同的id和名称?有一个不同的id和名称为使用rails helper标签的表单选择选项?

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

在上面的例子中,名称需要是正在发生的test ['data']返回的内容。 但我想命名其他ID。我怎么做?

我希望id能够成为所有人的固定值。但名称应该基于测试['数据']

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

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

回答

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' 
+0

更多信息我想ID返回一些固定值。看我的编辑我的问题。我需要一些JavaScript操作的id。例如。自动提交 – newbie

+1

'options_from_collection_for_select'方法检索选项的名称和值。 **不是**选择本身。要了解如何设置选择标记的ID,请参阅我的更新答案。 – Arjan

相关问题