Как обрезать текст гиперссылки, но не саму гиперссылку в Ruby on Rails? - PullRequest
3 голосов
/ 13 марта 2012

К счастью, используя Rinku gem для автосвязи моего текста. Это полезно, когда кто-то вставляет URL-адрес в комментарии - Rinku автоматически связывает этот URL-адрес.

Тем не менее, действительно длинные URL-адреса мешают макету страницы. Было бы полезно для каждой встреченной гиперссылки:

  • Сократить текст гиперссылки
  • Сохранить основную гиперссылку

например. http://www.yahoo.com может отображаться как http://www.ya..., но в нижележащем HTML гиперссылка - http://www.yahoo.com. Твиттер делает это с помощью твитов.

Искал высоко и низко любые существующие драгоценные камни или предыдущий опыт в этом. Пока ничего не придумали.

Ответы [ 2 ]

7 голосов
/ 13 марта 2012

Похоже Rinku поддерживает настройку текста ссылки:

auto_link(text) do |url|
    url.truncate :length => 15
end
0 голосов
/ 12 августа 2016

Не уверен насчет Ринку, но вы можете легко сделать это из представления:

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

По сути, обрежьте сам URL в строку (trunk_url), а затем используйте его в качестве текста для link_to,В моем случае URL был полем (tm.website).Работает отлично.

...