在 ERB 模板视图中生成 HTML
Generate HTML in ERB Template View
我需要向 ERB 模板内的 HTML-选择器组合框添加选项。首先,我创建了一个名为 var_arr
的数组,其中包含 <option value="foo">Foo</option>
-items,来自 items/values 的数组,例如 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。这些选项未显示为下拉菜单中的选项。
这里隐藏的警告在哪里?
你的
冯·斯波茨
ERB 将变量中的文本视为文本而不是 html 您需要将选项标记为 html_safe 才能像这样将其视为 html。
<% var_arr.each do |option| %>
<%= option.html_safe %>
<% end %>
我需要向 ERB 模板内的 HTML-选择器组合框添加选项。首先,我创建了一个名为 var_arr
的数组,其中包含 <option value="foo">Foo</option>
-items,来自 items/values 的数组,例如 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。这些选项未显示为下拉菜单中的选项。
这里隐藏的警告在哪里?
你的
冯·斯波茨
ERB 将变量中的文本视为文本而不是 html 您需要将选项标记为 html_safe 才能像这样将其视为 html。
<% var_arr.each do |option| %>
<%= option.html_safe %>
<% end %>