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

时间:2015-12-13 01:32:43

标签: html ruby-on-rails forms

我正在开发一个解决方案,在Rails中使用collection_select表单帮助器将自定义数据属性添加到选项标记。

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

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

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

这会产生一个选择标记,如:

<select data-icon="/uploads/image/image/4/169_strecken-ausgang.jpg" name="game[parallax_id]" id="game_parallax_id">...</select>

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

2 个答案:

答案 0 :(得分:10)

这是你想要的吗?

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

答案 1 :(得分:0)

仅供参考,我正在研究这个问题,在这里找到了更合适的解决方案:How do I set the HTML options for collection_select in Rails?