2012-11-27 25 views
0

我在我的视图文件中有一个数组。数组中的每个值都包含html。我想通过数组,而不是转义的HTML。但是,每当我运行html_saferaw时,该数组都会显示非转义的html。以下是我尝试的一些方法,证明失败。使用html_safe或原始数组返回转义html

此方法返回转义的HTML数组...

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

此方法返回数组作为零中的每个值...

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

最后,检查与返回转义HTML数组...

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

此方法返回零,以及...

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

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

回答

5

你的问题是在每个例子开始时的<%= - 这将输出表达式的结果,它是@posts本身。

<%代替它,看看你如何去。

编辑:第一个例子是我会用的,每个和原始的。

再次编辑:把真不是一般的意见 - 你可以试试下面的:

<% @posts.each do |post| %> 
    <%= post %> 
<% end %> 
+0

所以我选择了我的第一个例子,拿出'='但现在什么也没有返回。我没有看到数组中的任何值或html,也没有看到我的页面源代码中的任何内容。而如果我使用'<%= @ posts.join()%>'则显示我的值。但由于很多原因,我不想使用连接。感谢那个镜头。 – jason328

+0

@ jason328查看最新编辑。 – sevenseacat

+0

你救了我的人生,我一直在这里挣扎了大约3个小时。 – inquisitive