在ruby中省略一个链接

Mar*_*arc 4 ruby ruby-on-rails

我想把遗漏"..."作为我截断的红宝石字符串的链接.这就是我所拥有的:

  <%= truncate(testimony.testimony, :length => 125, :omission => (link_to "...", testimony)) %><br />
Run Code Online (Sandbox Code Playgroud)

但它这样做:

Etiam porta sem malesuada magna mollis euismod. Aenean lacinia bibendum nulla sed consectetur<a href="/testimonies/1">...</a>
Run Code Online (Sandbox Code Playgroud)

而不是使实际......链接显示代码.请参阅:http://cl.ly/4Wy3获取屏幕截图.

谢谢!

mac*_*thy 10

问题是truncate santizes输出,你需要raw()在下面的文档中使用:

结果未标记为HTML安全,因此在视图中使用时将受到默认转义的约束,除非由raw()包装.如果文本包含HTML标记或实体,则应该小心,因为截断可能会产生无效的HTML(例如不平衡或不完整的标记).

编辑示例:

<%= raw(truncate(testimony.testimony, :length => 125, :omission => (link_to "...", testimony))) %><br />
Run Code Online (Sandbox Code Playgroud)