ruby-on-rails – 如何使用Simple Form Rails添加HTML属性以选择选项?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 如何使用Simple Form Rails添加HTML属性以选择选项?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要为选择控件的每个选项添加自定义 HTML属性.我在Rails中使用simple_form.有谁知道如何做到这一点?该属性将被客户端JS使用.

例如,我想做这样的事情:

<%= f.input :group,collection: @groups,option_html: { data-type: lambda { |g| g[2] } } %>

哪个会产生(简化):

<select>
    <option value="1" data-type="primary">First Group</option>
    <option value="2" data-type="secondary">Second Group</option>
    <option value="3" data-type="secondary">Third Group</option>
</select>

@groups可能如下所示:

[
    ['First Group',1,'primary'],['Second Group',2,'secondary'],['Third Group',3,'secondary']
]

希望避免使用自定义控件/包装器.谢谢!

解决方法

你很近最简单的方法其实不是在这里使用simple_form.这是 simple_form documentation
<% options = @group.map { |g| [g.name,g.id,{'data-type' => g.group_type}] } %>
<%= f.input :group,label: 'Group' do %>
  <%= f.select :group,options,include_blank: 'Select a Group',class: 'form-control' %>
<% end %>

对于您的确切代码,它将是:

<% options = @group.map { |g| [g[0],g[1],{'data-type' => g[2]}] } %>
<%= f.input :group,class: 'form-control' %>
<% end %>

猜你在找的Ruby相关文章