加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 20:07:22 所属栏目:百科 来源:网络整理
导读:我需要为选择控件的每个选项添加自定义 HTML属性.我在Rails中使用simple_form.有谁知道如何做到这一点?该属性将被客户端JS使用. 例如,我想做这样的事情: %= f.input :group,collection: @groups,option_html: { data-type: lambda { |g| g[2] } } % 哪个会
我需要为选择控件的每个选项添加自定义 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 %>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读