如何在Ruby on Rails中截断超链接文本但不截断超链接本身?

3
我很高兴地使用gem来自动链接我的文本。当有人在评论中粘贴URL时,这对于自动链接非常有帮助。
然而,非常长的URL正在干扰页面布局。为了每个遇到的超链接变得更加实用:
  • 缩短超链接文本
  • 保留底层超链接
例如:http://www.yahoo.com可以显示为http://www.ya...但在底层HTML中,超链接是http://www.yahoo.com。Twitter在推文中也是这样做的。
一直在搜索任何现有的gems或先前的经验。到目前为止还没有找到任何东西。
2个回答

7

看起来 Rinku 支持链接文本的自定义:

auto_link(text) do |url|
    url.truncate :length => 15
end

2
谢谢!在所有深夜的阅读中我错过了它(可能有一个教训 :) 现在……我只能这样让它工作:url.truncate(15) - Daniel May

0

对于 Rinku 我不确定,但你可以轻松地在视图内完成这个操作:

<% trunk_url = truncate(url, :length => 15) %><%= link_to(trunk_url, url) %>

基本上,将 URL 本身截断成字符串(trunk_url),然后将其用作 link_to 的文本。在我的情况下,URL 是一个字段(tm.website)。效果完美。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接