0

我的视图文件中有一个数组。数组中的每个值都包含 html。我想通过数组而不是转义 html。但是,每当我运行html_safeorraw时,数组都会以非转义的 html 显示。以下是我尝试过的一些方法,但证明是失败的。

这将返回带有转义 html 的数组...

<%= @posts.each { |x| puts raw(x) } %>

这将数组中的每个值返回为零...

<%= @posts.map { |x| puts raw(x) } %>

最后,inspect 返回带有转义 html 的数组...

<%= @posts.inspect { |x| puts x.html_safe } %>

这也返回 nil ......

<%= @posts.map { |x| puts x.html_safe } %>

这是什么原因造成的,我该如何解决?

4

1 回答 1

5

您的问题在于<%=每个示例的开头 - 这将输出表达式的结果,它@posts本身就是。

替换它,<%看看你的表现如何。

编辑:第一个示例是我将使用的示例,每个示例都是原始示例。

再次编辑: puts 在视图中确实不是典型的 - 尝试以下操作:

<% @posts.each do |post| %>
  <%= post %>
<% end %>
于 2012-11-27T07:55:00.283 回答