好的,所以我正试着在铁轨上找到一些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
?
答案 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}] }) %>