You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@deltacloud.apache.org by Tong Li <li...@us.ibm.com> on 2011/08/24 22:11:12 UTC
Question on image_url
deltacloud uses haml, in some of the haml file such as
views/images/index.html.haml, a line of code looks like this
= link_to image.id, image_url(image.id)
method link_to is defined in url_helper.rb, but I can not find where
image_url is defined and how it can be made available so that haml file can
use it. can any one shed some light?
Thanks.
Tong Li
Emerging Technologies & Standards
B062/K317
litong01@us.ibm.com
Re: Question on image_url
Posted by David Lutterkort <lu...@redhat.com>.
On Wed, 2011-08-24 at 16:11 -0400, Tong Li wrote:
> deltacloud uses haml, in some of the haml file such as
> views/images/index.html.haml, a line of code looks like this
>
>
> = link_to image.id, image_url(image.id)
>
> method link_to is defined in url_helper.rb, but I can not find where
> image_url is defined and how it can be made available so that haml file can
> use it. can any one shed some light?
This is part of the magic that rabbit does. When a collection :things is
set up, rabbit creates helpers, that basically amount to the following
Ruby code
def things_url(params={})
"/api/foos" + query_params(params)
end
def thing_url(id, params={})
"/api/foos/#{id}" + query_params(params)
end
# For every operation OP in the collection that is
# not :index or :show, e.g. for :destroy
if OP is member operation
def OP_thing_url(id, params={})
foo_url(id, params)
end
else
def OP_thing_url(params={})
foos_url(params)
end
end
def query_params(params)
return "" if params.empty?
"?" + params.keys.map { |k| "#{k}=#{params[k]}" }.join("&")
end
David