Rails:如何在collection_select中添加自定义数据属性

Ale*_*ust 6 html forms ruby-on-rails

我正在研究一种解决方案,使用collection_selectRails中的表单助手将自定义数据属性添加到选项标签.

我在stackoverflow上研究了一些帖子,并在查阅了一些API文档后做了大量的试验和错误.我几乎在那里,但遗憾的是我的解决方案只是将select-tag的属性添加到option-tags中.

这样我填充html-options-hash(第6位):

<%= f.collection_select(:parallax_id, @parallax.all, :id, :title, {}, { :"data-icon" => @parallax.map{ |p| "#{p.image}"}} ) %>
Run Code Online (Sandbox Code Playgroud)

这导致选择标记如:

<select data-icon="/uploads/image/image/4/169_strecken-ausgang.jpg" name="game[parallax_id]" id="game_parallax_id">...</select>
Run Code Online (Sandbox Code Playgroud)

但我希望获得该data-icon属性的选项.当我切换位置并将我的数据图标添加到options-hash(第5个位置)时,不会输出任何内容.

Hoa*_*han 11

这是你想要的吗?

= f.select :parallax_id, options_for_select(@parallax.map {|p| [p.title, p.id, {'data-icon' => p.image }]})
Run Code Online (Sandbox Code Playgroud)