instance method
auto_link
Ruby on Rails 2.2.3
Since v2.2.3 Last seen in v3.0.20Signature
auto_link(text, *args, &block)
Turns all URLs and e-mail addresses into clickable links. The :link option will limit what should be linked. You can add HTML attributes to the links using :href_options. Possible values for :link are :all (default), :email_addresses, and :urls. If a block is given, each URL and e-mail address is yielded and the result is used as the link text.
Examples
auto_link("Go to http://www.rubyonrails.org and say hello to david@loudthinking.com")
# => "Go to <a href=\"http://www.rubyonrails.org\">http://www.rubyonrails.org</a> and
# say hello to <a href=\"mailto:david@loudthinking.com\">david@loudthinking.com</a>"
auto_link("Visit http://www.loudthinking.com/ or e-mail david@loudthinking.com", :link => :urls)
# => "Visit <a href=\"http://www.loudthinking.com/\">http://www.loudthinking.com/</a>
# or e-mail david@loudthinking.com"
auto_link("Visit http://www.loudthinking.com/ or e-mail david@loudthinking.com", :link => :email_addresses)
# => "Visit http://www.loudthinking.com/ or e-mail <a href=\"mailto:david@loudthinking.com\">david@loudthinking.com</a>"
post_body = "Welcome to my new blog at http://www.myblog.com/. Please e-mail me at me@email.com."
auto_link(post_body, :href_options => { :target => '_blank' }) do |text|
truncate(text, 15)
end
# => "Welcome to my new blog at <a href=\"http://www.myblog.com/\" target=\"_blank\">http://www.m...</a>.
Please e-mail me at <a href=\"mailto:me@email.com\">me@email.com</a>."
You can still use auto_link with the old API that accepts the link as its optional second parameter and the html_options hash as its optional third parameter:
post_body = "Welcome to my new blog at http://www.myblog.com/. Please e-mail me at me@email.com."
auto_link(post_body, :urls) # => Once upon\na time
# => "Welcome to my new blog at <a href=\"http://www.myblog.com/\">http://www.myblog.com</a>.
Please e-mail me at me@email.com."
auto_link(post_body, :all, :target => "_blank") # => Once upon\na time
# => "Welcome to my new blog at <a href=\"http://www.myblog.com/\" target=\"_blank\">http://www.myblog.com</a>.
Please e-mail me at <a href=\"mailto:me@email.com\">me@email.com</a>."
Parameters
-
textreq -
argsrest -
blockblock
Source
# File actionpack/lib/action_view/helpers/text_helper.rb, line 384
def auto_link(text, *args, &block)#link = :all, href_options = {}, &block)
return '' if text.blank?
options = args.size == 2 ? {} : args.extract_options! # this is necessary because the old auto_link API has a Hash as its last parameter
unless args.empty?
options[:link] = args[0] || :all
options[:html] = args[1] || {}
end
options.reverse_merge!(:link => :all, :html => {})
case options[:link].to_sym
when :all then auto_link_email_addresses(auto_link_urls(text, options[:html], &block), &block)
when :email_addresses then auto_link_email_addresses(text, &block)
when :urls then auto_link_urls(text, options[:html], &block)
end
end
Defined in actionpack/lib/action_view/helpers/text_helper.rb line 384
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActionView::Helpers::TextHelper