Sitemde kullanıcı tarafından oluşturulmuş yorumlar var. Bir kullanıcı yorumlarına bir URL eklerse, bunun bir bağlantı olarak biçimlendirilmesini ve aslında bu URL'ye bağlanmasını isterim. Bunu nasıl yaparım?Rails 3 görünümünde, görüntü dizesindeki bir URL'yi nasıl algılayabilir ve bu URL’ye bağlantı olarak biçimlendirebilirim?
cevap
Raylar, auto_link metin yardımcısına sahiptir.
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>"
auto_link("Visit http://www.loudthinking.com/ or e-mail [email protected]", :link => :urls)
# => "Visit <a href=\"http://www.loudthinking.com/\">http://www.loudthinking.com/</a>
# or e-mail [email protected]"
İlk olarak,
IPv4_PART = /\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]/ # 0-255 REGEXP = %r{ https?:// # http:// or https:// ([^\s:@]+:[^\s:@]*@)? # optional username:[email protected] ((([^\W_]+\.)*xn--)?[^\W_]+([-.][^\W_]+)*\.[a-z]{2,6}\.? | # domain (including Punycode/IDN)... #{IPv4_PART}(\.#{IPv4_PART}){3}) # or IPv4 (:\d{1,5})? # optional port ([/?]\S*)? }iux
sonra örneğin bir regexp'in eşleştirme http dizeleri tanımlamak gerekir, yorum vücut str olduğunu varsayalım, yapmanız:
str.gsub(REGEXP) do |m| link_to m, m end
kendi URL eşleyici Rolling gerçekten berbat bir fikir - Eğer ** ** Bir hata yapacaktır. Bir kütüphane kullan. :) –
Ayrıca "auto_html kullanabilirsiniz "gem, bkz. https://github.com/dejan/auto_html.
Yasal Uyarı: Henüz kendim kullanmadım, ama istediğini yapabilirmiş gibi görünüyor.
Sorunun ne istediğinden daha fazlasını yapar, bu ilginç, ancak yeni bir mücevher gerektiriyor. Auto_link daha basittir. –
ben de yorumlar için Markdown gibi bir şey düşünmeye öneriyoruz. Ardından Markdown motorunun sizin gibi şeyler için endişelenmesine izin verebilirsiniz. Gelen
onun artık tek başına bir mücevher, 3.1 auto_link ben kaldırıldı vardır raylar: https://github.com/tenderlove/rails_autolink
- 1. Bu tarihi nasıl biçimlendirebilirim?
- 2. Görüntü olarak bir bağlantı bağlantısı nasıl oluşturulur?
- 3. Bir veritabanı sütun adının bir görünümünde tablo başlığı olarak nasıl görüntüleyebilirim? Rails 3
- 4. Rails 3
- 5. Bu çalışma Rails 3'te nasıl çalışır?
- 6. Rails 3
- 7. Rails 3
- 8. Rails 3
- 9. Rails 3
- 10. Rails 3
- 11. Rails 3'de numaralandırma nasıl yapılır? Rails 2'de
- 12. Rails 3'te dinamik olarak oluşturulmuş bir kırıntıyı nasıl oluştururum?
- 13. Bir bağlantı yerine bir görüntü gönderin
- 14. bağlantı çoklu textview tek bir web görünümünde
- 15. Bir kullanıcı, sağlanan bir bağlantıdan bir ios uygulaması yüklediğinde nasıl bir görüntü algılayabilir?
- 16. Rails 3 kullanımdan kaldırma uyarısını seçici olarak nasıl sessize alabilirim?
- 17. RAILS 3 - Denetleyicilerindeki işlemler
- 18. Rails 3'teki Rails 3 I18n admin ad alanıyla
- 19. Rails 3 Üzerinden Devralınan Kaynaklar 3 ... Yanıtlayıcılar
- 20. FreeBsd'de Ruby on Rails 3'ü Yapılandırma
- 21. Rails 3'te eksik komut/oluşturma 3
- 22. Bir masaüstü uygulamasından Rails API'ye gönderilen bir görüntü nasıl alınır
- 23. Rails 3 için tam metin araması 3
- 24. Bir javascript dizesindeki bir null karakterin kaldırılması
- 25. MATLAB'da yapı alanı adları olarak kullanmak için dizeleri nasıl biçimlendirebilirim?
- 26. Görünür bir görüntü çapraz olarak nasıl taşınır?
- 27. Rails 3 ve bir formdan ondalık değerleri kaydetme
- 28. Rails 3'te fikstür jeneratörü nasıl değiştirilir?
- 29. kaminari ajax üzerinden paginate, uzaktan = true raylarda görünümünde etkilenmez 3
- 30. Rails bağlantı havuzu kullanımı nasıl hata ayıklanır?
Bunu hiç duymadım. Harika! – fl00r
Rails 3.1+ kullanıyorsanız, lütfen nikstep başına rails_autolink kullanın – Dean
Sağladığınız linkte auto_link bulunamıyor. Alternatif dokümantasyon: http://apidock.com/rails/ActionView/Helpers/TextHelper/auto_link –