如何在Ruby on Rails中转义数组内的HTML实体?

Tin*_*n81 1 ruby ruby-on-rails ruby-on-rails-3

我正在尝试使用数组中的选项填充选择框并转义这些选项,以便显示货币符号lile 而不是€.

如何在Ruby on Rails中完成?

这是我的功能:

def options
  array = []
  array << ["&dollar;", "some value"]
  array << ["&euro;", "some value"]
end
Run Code Online (Sandbox Code Playgroud)

这是形式:

<%= f.select(:format, f.object.options) %>
Run Code Online (Sandbox Code Playgroud)

我尝试了类似的东西,array.html_safe但不幸的是它没有用.

谢谢你的帮助.

mea*_*gar 6

您无法将数组HTML标记为安全.您需要将数组中的每个元素标记为HTML安全.

尝试

array.map(&:html_safe)
Run Code Online (Sandbox Code Playgroud)

更新

对不起,我没有仔细研究如何构建阵列.我认为这是一个扁平的字符串数组,在这种情况下array.map(&:html_safe)会很好.相反,你必须为每个字符串做同样的事情:

array.map { |e| e.map(&:html_safe) }
Run Code Online (Sandbox Code Playgroud)