2016-03-03 2 views
0

Я пишу форму в Rails. У меня есть коллекция пользователей, которая включает в себя следующие данные пользователяКак передать значения из коллекции в качестве пользовательских атрибутов HTML?

  • имя
  • last_name
  • ID
  • EMPLOYEE_ID

Я хотел бы, чтобы определить имена пользователей появляются в выпадающем списке отображение значений, в то время как их идентификаторы являются выпадающим списком значениями, но в то же время я хотел бы добавить добавление itional пользовательский атрибут HTML, который представляет собой данные, сотрудник-идентификатор и устанавливается таким же, как 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

Какую форму строительного камня вы используете? Форматная или простая форма. Я удалю тэг haml, так как это не относится к вопросу. – Leito

+0

Это простая форма, спасибо за обновление вопроса :) –

ответ

1

Вы можете сделать это с помощью options_for_select

= f.select :id, options_for_select(
    @users.map { |u| [u.name, u.id, {'data-employee-id' => u.id}] }) 
0

простой формы имеет свои привилегии, так что ответ Михая близок simple_form путь будет

= f.input :id, collection: @users.map { |u| [u.name, u.id] }, 
include_blank: true/false 

, а также вы оставили закрывающую фигурную скобку, не открывая его.

+0

У вас нет точки вопроса: Как установить: 'data-employee-id' в тегах опций. – Leito