I have a text area into which users enter a lot of text that potentially includes hyperlinks. How can I display the text and have the URLs automatically appear as hyperlinks? Is there a gem, plugin, or existing method that does this? I'm looking to be able to do something like:
<%=h @my_object.description.with_links %> in my view.
-
with some extras: stackoverflow.com/questions/22442375/…brauliobo– brauliobo2014-03-16 20:18:34 +00:00Commented Mar 16, 2014 at 20:18
Add a comment
|
2 Answers
Rails 4+
Auto-linking has been removed from Rails and has been made into the rails_autolink gem.
require 'rails_autolink'
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>"
Rails 3
Use the provided helper method called auto_link, which is part of ActionView.
<%=h auto_link(@my_object.description) %>
4 Comments
Frédéric Falliere
You may be careful using this. It generates html_safe text. That means if you text to convert is something like : "hello <br/>www.google.fr</div></div>" you will get a surprise (and a security hole of course)
Kris
To add to Marcel's comment the Sanitize gem can help with selective removal of HTML.
Pratik Khadloya
Looks like its no longer available. The link that you have in your answer is not pointing to the right page.