Absolute image URL?


#1

I’m generating an XML feed to be used from outside of a Rails
application. The feed should include URLs for associated images. I’m
using image_path to generate the image URLs. This respects
relative_url_root, but all it gives me is the absolute path of the
image relative to the domain root (e.g. /image_assets/1234/
my_image.jpg). Is there a standard way to get fully specified absolute
URLs to images? I looked at url_for, which implements an :only_path
option, but that option is only available for controller paths.

Thanks,

Sven


#2

On Jan 27, 2009, at 2:53 PM, Sven wrote:

Sven

Try image_url rather than image_path

-Rob

Rob B. http://agileconsultingllc.com
removed_email_address@domain.invalid


#3

On Jan 27, 3:57 pm, Rob B. removed_email_address@domain.invalid
wrote:

Try image_url rather than image_path

Sadly that method does not seem to exist (at least not in
ActionView::Helpers::AssetTagHelper or in the Rails API docs). I wish
it did!

-Sven


#4

On Jan 27, 2009, at 4:06 PM, Sven wrote:

On Jan 27, 3:57 pm, Rob B. removed_email_address@domain.invalid
wrote:

Try image_url rather than image_path

Sadly that method does not seem to exist (at least not in
ActionView::Helpers::AssetTagHelper or in the Rails API docs). I wish
it did!

-Sven

So write one! (or try this untested one)

def image_url(source)
abs_path = image_path(source)
unless abs_path =~ /\Ahttp/
abs_path = “http#{‘s’ if https?}://#{host_with_port}/#{abs_path}”
end
abs_path
end

Put it in a helper such as app/helpers/application_helper.rb

-Rob

Rob B. http://agileconsultingllc.com
removed_email_address@domain.invalid