rails 简单形式将数据属性添加到输入 select 包装器以及 select 选项

rails simple-form add data attributes to input select wrapper as well as select options

我已按照 this SO answer 将数据属性添加到我的 select 选项中。 但是我的输入 select 包装器中还需要一个数据属性。

目前看起来是这样的:

<% options = @active_users.map do |user| %>
  <% [user.full_name, user.id, data: { 'org': user.organization.name }] %>
<% end %>
<%= f.input :user, label: false, required: false, as: :select,
      wrapper_html: { class: 'search person js-linked',
                      data: { 'linked-by': 'person' }
      } do
%>
  <%= f.select :user_id, options, { include_blank: 'Add user…' },
          { class: 'select optional', placeholder: 'Add user…' }
  %>
<% end %>

如果我在没有输入包装器数据属性的情况下测试选项数据属性,它会像预期的那样工作(数据属性被添加到选项中),但是一旦我添加 wrapper_html 数据属性,如上面的代码所示,select 选项中的数据属性消失。

我也尝试使用 this SO answer 中建议的自定义输入,但结果相同。

我很感激任何关于为什么会发生这种情况以及如何解决它的见解。

事实证明,这是由处理 linked-by 的 JS 代码引起的。它没有考虑选项中可能的数据属性,它们只是被覆盖了。