Как задать произвольные html атрибуты у опций для выпадающего списка simple_form?

Использую в проекте gem simple_form. Генерирую выпадающий список:
<%= f.input :region, :collection => GeoObjects.regions, 
		:label_method => lambda { |i| i.name },
		label: 'Регион' %>

Получаю html:
<select class="select required" required="required" aria-required="true" name="adv[region]" id="adv_region"><option value=""></option>
<option value="0">Московская область</option>
<option value="1">Ленинградская область</option>
<option value="2">Мордовия</option></select>


как получить у options дополнительные атрибуты? Нужна широта, долгота. Нужно чтобы получилось следующее:
<select class="select required" required="required" aria-required="true" name="adv[region]" id="adv_region"><option value=""></option>
<option value="0" lattitude="55.5" longitude="37.3">Московская область</option>
<option value="1" lattitude="54.53" longitude="34.345">Ленинградская область</option>
<option value="2" lattitude="53.3" longitude="34.3334">Мордовия</option></select>

У самого select я могу задать атрибуты, а у option - нет
  • Вопрос задан
  • 341 просмотр
Решения вопроса 1
Jeiwan
@Jeiwan
Нужно по-другому сформировать данные для списка, в параметр collection: нужно передавать:
[
  ['Московская область', 0, { lattitude: 55.5, longitude: 37.3 }],
  ['Ленинградская область', 1, { lattitude: 54.53, longitude: 34.345 }]
  ...
]

То есть массив массивов, первый элемент которых — текст для option, второй — value, третий — хеш атрибутов.

Задачу сформировать такой массив оставлю вам :)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@vsuhachev
через simple_form - или никак или написать свой input с преферансом и т.д.

Или воспользоваться стандартными рельсовыми хэлперами
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы