Генерация HTML в представлении шаблона ERB - PullRequest
1 голос
/ 30 марта 2020

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

Где здесь скрытое предупреждение?

Ваш

von Spotz

1 Ответ

1 голос
/ 30 марта 2020

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

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