2009-08-08 12 views
5

Rails ile basit bir sohbet uygulaması yapıyorum. Bir kullanıcı bir URL'de yazdığında, bir html bağlantısı (yani, "url") olarak çıktısını istiyorum.Ruby url to html link dönüşümü

Ruby'de bunu yapmak için herhangi bir kütüphane veya iyi bilinen bir yol olup olmadığını merak ediyordum. Değilse, çalışmak için bazı iyi regex örnek kod var ...

cevap

9

Rails tarafından sağlanan auto_link yardımcı yöntemine bakın. Bu, tüm URL'leri ve e-posta adreslerini tıklanabilir bağlantılara (html bağlantı etiketleri) dönüştürür. İşte dokümanlardaki bir kod örneği.

auto_link("Go to http://www.rubyonrails.org and say hello to [email protected]") 
# => "Go to <a href=\"http://www.rubyonrails.org\">http://www.rubyonrails.org</a> and 
#  say hello to <a href=\"mailto:[email protected]\">[email protected]</a>" 
+0

Başar, teşekkürler! bu nedenle, mesajdaki her kelimeye dönebilirim, eğer regex url testini geçerse, onu bir link olarak yaratırdım. Bunu kontrolörde nasıl yapılacağını ve bir bakış açısıyla düşünmem gerektiğini düşünüyorum. Tekrar teşekkürler. – user94154

+1

Her kelimeye geçmeye gerek yok, tüm dizgiyi auto_link'e geçirirseniz, sadece URL'leri ve e-postaları birbirine bağlamalıdır. Ayrıca, bu yöntemi görünümün dışında çağırmanız gerekirse, bu bölüme bakın: http://railscasts.com/episodes/132-helpers-outside-views – ryanb

+1

Bu yöntem, 3.1 raylarından kaldırılmıştır ancak bir bağımsız gem 'rails_autolink' Ayrıca raylar uygulama üzerinde performans avantajları sunan 'rinku' gem bakabilirsiniz. – jwarzech

İlgili konular