Absolute image URL?

859 views
Skip to first unread message

Sven

unread,
Jan 27, 2009, 2:53:40 PM1/27/09
to Ruby on Rails: Talk
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

Rob Biedenharn

unread,
Jan 27, 2009, 3:57:26 PM1/27/09
to rubyonra...@googlegroups.com


Try image_url rather than image_path

-Rob

Rob Biedenharn http://agileconsultingllc.com
R...@AgileConsultingLLC.com


Sven

unread,
Jan 27, 2009, 4:06:03 PM1/27/09
to Ruby on Rails: Talk
On Jan 27, 3:57 pm, Rob Biedenharn <R...@AgileConsultingLLC.com>
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

Rob Biedenharn

unread,
Jan 27, 2009, 6:46:31 PM1/27/09
to rubyonra...@googlegroups.com


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

Reply all
Reply to author
Forward
0 new messages