2011-07-16 26 views
0

我想添加一个链接到数组的每个元素,然后加入结果数组。我想:为什么我构造的字符串呈现为转义的HTML?

myarray.collect{|u| link_to u[:first_name], username_path(u[:username])}.join(', ') 

该做的一切正确,但它返回:

<a href="/niels">Niels Bohr</a>, <a href="/richard">Richard Feynman</a> 

而不是

<a href="/niels">Niels Bohr</a>, <a href="/richard">Richard Feynman</a> 

我该如何解决这个问题?还是有一种更简单的方法?

谢谢。

回答

4

使用html_safe

myarray.collect{|u| link_to u[:first_name], username_path(u[:username])}.join(', ').html_safe 
+0

谢谢,那工作。 – alste

1

没有什么不妥添加链接或加入列表的元素。这一切都很好。什么是错误的是,你的字符串被认为是不安全的和一些用于构造有效的HTML(更重要的是,)的字符被转义。

正如fl00r所说,你应该在字符串之后加上 .html_safe来告诉渲染函数,函数中的任何HTML都可以按原样安全地发送到浏览器。

相关问题