Ruby-rails-как создать автоматические гиперссылки для URL-адресов в тексте / строке, отображаемой в представлении?
Как создать автоматические гиперссылки для URL-адресов в тексте / строке, отображаемой в представлении?
У меня есть страница, которая отображает журнал активности пользователя, и в этом журнале/тексте/строке есть некоторые случайные URL-адреса, которые я хочу автоматически гиперссылку открыть в новом окне браузера. Есть это auto_link
в ruby rails, как это использовать?
text = "User xyz accessed url - http://www.something.com on 04/13/2012 00:13:18GMT"
<%= "#{Text}" %>
Я хочу, чтобы это отображалось с гиперссылкой на url. URL-адрес может быть любым в любом месте текста.
2 ответов
используйте auto_link следующим образом:
<%= auto_link(text) %>
Если вы хотите, чтобы сгенерированные ссылки открывали новые окна браузера (или вкладки), добавьте такую опцию:
<%= auto_link(text, :html => { :target => '_blank' }) %>
как упоминалось pjumble в комментариях,auto_link
больше не является частью Rails core с Rails 3.1, этот драгоценный камень возвращает его:https://github.com/tenderlove/rails_autolink Спасибо pjumble!
для более быстрого разбора, попробовать https://github.com/vmg/rinku
require 'rinku'
Rinku.auto_link(text, mode=:all, link_attr=nil, skip_tags=nil)
также часто требуется больше фильтров, чем просто ссылки, например, встроенные видео Youtube. Для этого используйте:https://github.com/dejan/auto_html