Создание HTML в представлении шаблона ERB

Мне нужно добавить параметры в поле со списком HTML-селектора внутри шаблона ERB. Сначала я создаю массив с именем var_arr с <option value="foo">Foo</option>-элементами из массива с элементами / значениями, такими как foo, а затем я пытаюсь записать его между <select></select>-тегами с помощью each

<% var_arr.each do |option| %>
  <%= option %> 
<% end %>

То, что он производит,

<option value="article">Article</option> <option value="link">Link</option> <option value="photo">Photo</option> <option value="treenode">TreeNode</option> 

Но он не рассматривается как HTML. Параметры не отображаются как параметры в раскрывающемся меню.

Где здесь скрытая оговорка?

Ваш

фон Спотц


person von spotz    schedule 30.03.2020    source источник
comment
‹% Var_arr.each do | option | % ›‹% = Option.html_safe% ›‹% end% ›Попробуйте это.   -  person Abdul Rehman    schedule 30.03.2020
comment
Хотелось бы, чтобы это был принятый ответ! Спасибо !   -  person von spotz    schedule 30.03.2020
comment
Добро пожаловать, и я добавил это в качестве ответа.   -  person Abdul Rehman    schedule 30.03.2020


Ответы (1)


ERB обрабатывает текст из переменных как текст, а не как html, вам нужно пометить параметры как html_safe, чтобы обрабатывать его как html, как это.

<% var_arr.each do |option| %>
  <%= option.html_safe %>
<% end %>
person Abdul Rehman    schedule 30.03.2020