15

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.

1

2 Answers 2

22

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) %>
Sign up to request clarification or add additional context in comments.

4 Comments

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)
To add to Marcel's comment the Sanitize gem can help with selective removal of HTML.
Looks like its no longer available. The link that you have in your answer is not pointing to the right page.
Removed from Rails 3.1 and packaged into auto_link gem
2

See rinku gem, which is apparently faster and more accurate than autolink gem

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.