我在Rails中写一个表单。我有一组用户,其中包括以下用户详细信息
我想将用户名定义为下拉显示值,而其ID为下拉值,但同时我想添加一个其他自定义HTML属性,即data-employee-id,设置为与employeeId
相同我目前的代码如下:
.user-dropdown
= f.label 'name'
= f.input :id, as: :select, collection: @users, include_blank: }
html结果如下:
<option value='1' data-employee-id='1234'>Alex</option>
<option value='2' data-employee-id='2468'>Bradley</option>
<option value='3' data-employee-id='1357'>Cathy</option>
答案 0 :(得分:1)
您可以使用options_for_select
执行此操作= f.select :id, options_for_select(
@users.map { |u| [u.name, u.id, {'data-employee-id' => u.id}] })
答案 1 :(得分:0)
简单形式有它的好处所以Mihai的答案很接近 simple_form方式是
= f.input :id, collection: @users.map { |u| [u.name, u.id] },
include_blank: true/false
并且你还没有打开它就留下了一个闭合的大括号。