параметры для выбора вывода пустых значений и значений меток - PullRequest
0 голосов
/ 18 июня 2019

Я пытаюсь заполнить тег выбора из массива хэшей.Когда я использую options_for_select, он выводит правильное количество опций, но метки значения и текста опции там нет.

[{:name=>"Label", :id=>"326613406", :thumb=>"https://something/whatever"},another hash]

formatted_options = options_for_select(select_options.collect { |f| [ f['name'], f['id'], {'data-thumb' => f['thumb']} ] })

return select_tag "#{object.class.to_s.downcase + '[content][' + field.name + ']'}", formatted_options, {class: "image-support-select"}

Я ожидаю, что будет показано значение и текст элементов option.Кроме того, я хотел бы включить атрибут данных для каждого тега параметра.

1 Ответ

1 голос
/ 18 июня 2019

Вы определяете свои хеш-ключи как symbol, но в своем цикле вы получаете к ним доступ как string.

Измените ваш цикл следующим образом:

formatted_options = options_for_select(select_options.collect { |f| [ f[:name], f[:id], {'data-thumb' => f[:thumb]} ] })

Если вы хотите получить доступ к вашему хешу с помощью клавиш symbol и string, вы можете вызвать with_indifferent_access метод хеширования

В этом случае вам нужно изменить ваш хеш следующим образом:

[{:name=>"Label", :id=>"326613406", :thumb=>"https://something/whatever"}.with_indifferent_access]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...