这是我想要的字符串:

<a href="/pugs/1-baxter">Baxter</a> and <a href="/pugs/2-sofia">Sofia</a>


这是我用来输出的代码:

<%= @pugs.collect {|p| link_to(p.name, pug_path(p))}.to_sentence %>


不幸的是,输出已被编码:

 &lt;a href=&quot;/pugs/1-baxter&quot;&gt;Baxter&lt;/a&gt; and &lt;a href=&quot;/pugs/2-sofia&quot;&gt;Sofia&lt;/a&gt;


我尝试使用html_saferaw,但是它们似乎没有任何影响。

最佳答案

从Rails 5开始,有一个to_sentence视图助手(不同于Array#to_sentence)来执行此操作。

the docs


to_sentence(array,options = {})
将数组转换为逗号分隔的句子,其中最后一个元素由
连接器词。这是ActiveSupport的html_safe-aware版本
Array#to_sentence。


像这样使用它:<% to_sentence(@pugs.collect {|p| link_to(p.name, pug_path(p))}) %>

08-16 18:39