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

时间:2018-07-16 14:36:10

标签: ruby-on-rails forms simple-form

我已经遵循this SO answer来将数据属性添加到我的选择选项中。 但是我的输入选择包装器中也需要一个data属性。

当前,它看起来像这样:

<% 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数据属性,如图所示在上面的代码中,选择选项中的数据属性消失了。

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

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

1 个答案:

答案 0 :(得分:0)

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