2012-03-13 66 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)。完美的作品。