如何在.map块中使用rails link_to helper,使得输出是实际链接,而不是HTML的文本表示形式

mar*_*ion 5 ruby-on-rails ruby-on-rails-3

我有这个:

listed in <%= @product.categories.map{ |cat| raw(link_to(cat.name, category_path(cat))) }.join(', ') + "." %>
Run Code Online (Sandbox Code Playgroud)

这是输出:

listed in <a href="/categories/1">Men</a>, <a href="/categories/2">Women</a>. 
Run Code Online (Sandbox Code Playgroud)

它实际上并没有将其转换为实际链接.它将其作为文本在网页上吐出.

如何link_to从该块中将该帮助器显示为链接而不是HTML?

Yve*_*enn 12

你需要包含你的map通话结果raw.这样你就可以告诉rails这个字符串应该直接输出到模板中.

listed in <%= raw(@product.categories.map{ |cat| raw(link_to(cat.name, category_path(cat))) }.join(', ') + ".") %>
Run Code Online (Sandbox Code Playgroud)