2012-03-13 65 views
3

高兴地使用Rinku宝石自动链接我的文字。当有人粘贴评论中的网址时,这会很有帮助 - Rinku会自动链接该网址。如何在Ruby on Rails中截断超链接文本而不是超链接本身?

但是,真正的长URL与页面布局有关。

  • 缩短超链接文本
  • 保持基本的超级链接

例如:它会为遇到的每一个超链接是有帮助http://www.yahoo.com可能会显示为http://www.ya...但在底层HTML中,超链接是http://www.yahoo.com。 Twitter用推文做到这一点。

一直在寻找任何现有的宝石或在此之前的经验的高和低。到目前为止还没有提出任何东西。

回答

7

Looks like临空支持链接文本的定制:

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

谢谢!我在所有的深夜阅读中都错过了它(可能有一个教训:)现在......我只能像这样工作:'url.truncate(15)' – 2012-03-13 23:06:29

0

不确定临空,但你可以很容易地做到这一点从视图中:

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

基本上,截断网址本身进入一个字符串(trunk_url),然后用它作为link_to的文本。在我的情况下,该网址是一个字段(tm.website)。完美的作品。