我正在尝试这样做:
headline = 'Created a new' && link_to('Set', set_path(set))
也尝试过:
headline = 'Created a new' + link_to('Set', set_path(set))
但它输出不像:
Created a new <a href="xxxx">Set</a>
想法? thxs
答案 0 :(得分:1)
Rails有一个漂亮的XSS预防功能,可能会阻碍你的到来。在输出字符串之前,它会默认编码在其中找到的任何HTML,除非它们提前明确标记为安全字符串。 link_to
在其输出上运行html_safe!
,这就是通常不对其进行编码的原因,但将其添加到不安全的字符串'Created a new'
会删除该HTML安全属性。
尝试致电:
headline.html_safe!
设置后立即。
当然,由于问题没有说明你得到的输出而不是你想要的输出,我不能完全确定这是问题所在。但这是我能用我所做的最好的事情:)
答案 1 :(得分:0)
我会直接把它放在你的视野中或帮助中。您还可以稍微简化link_to
:
<%= 'Created a new' + link_to('Set', set) %>
# or
<%= "Created a new #{link_to('Set', set)}" %>
# or
Created a new <%= link_to('Set', set) %>