method

auto_link

auto_link(text, link = :all, href_options = {}, &block)
public

Turns all urls and email addresses into clickable links. The link parameter will limit what should be linked. You can add html attributes to the links using href_options. Options for link are :all (default), :email_addresses, and :urls.

  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>

If a block is given, each url and email address is yielded and the result is used as the link text.

  auto_link(post.body, :all, :target => '_blank') do |text|
    truncate(text, 15)
  end

1Note

Documentation bug

jneto ยท Aug 6, 20094 thanks

When adding the :target option, the documentation states that you should user :href_options like so:

auto_link(post_body, :href_options => { :target => '_blank' })

However, I could only get it to work using :html instead:

auto_link(post_body, :html => { :target => '_blank' })

I'm using Rails 2.2.2, but I believe that this also happens for more recent version .