如何向rails选择下拉列表添加属性?

时间:2013-07-10 19:47:11

标签: ruby-on-rails

好的,所以我正试着在铁轨上找到一些ajax并撞到了一堵巨大的砖墙:我无法在我的选择框中设置data-remote属性。无论我尝试什么形式,它总是表现得好像告诉它关于该属性的部分甚至不存在。例如:

<%= f.select(:image, options_from_collection_for_select(@images, 'id', 'name'), data: {remote: true}) %>
<%= f.select( [...] , :'data-remote' => 'true') %>
<%= f.select( [...] , :data => {remote: true}) %>
<%= f.select( [...] , data: {remote: true}) %>
<%= f.select( [...] , remote: true) %>

我甚至有工作代码在其他事情上实现前三个,但不是f.select

有人知道我如何正确地将属性应用于f.select

2 个答案:

答案 0 :(得分:2)

data密钥需要位于HTML选项哈希中,这是select的第三个参数。来自文档:

select(method, choices, options = {}, html_options = {})

因此你需要:

f.select(:image, options_from_collection_for_select(@images, 'id', 'name'), {}, { data: {remote: true} })

请注意空选项哈希。

答案 1 :(得分:0)

试试这个:

<%= f.select :image, options_for_select(@images.map{ |i| [i.name, i.id, {'data-remote'=>true}] }) %>