[Catalyst] Please help to figure out with URL's

Trevor Leffler tleffler at uw.edu
Thu Dec 4 19:41:13 GMT 2014


Hi,

tl;dr - Use c.uri_for() everything, including statics.

I can't say why your links are 0.0.0.0/image.png without looking at the 
full source of your page.  I think your browser is doing this, maybe 
with some (bad) hints.

However... c.uri_for('/image.png') is the right way to do it.  It will 
make sure the correct hostname, port, and path prefix for your 
application are used, and it makes your app relocatable -- meaning you 
won't have to change all of your static urls when your app's URL or root 
path changes.

This is a typical use:

<link href="[% c.uri_for('/static/css/my_style.css') | html %]" 
rel="stylesheet">

Cheers,
--Trevor

On 12/04/2014 11:23 AM, Александер Пономарёв wrote:
> Hello to all,
> I'm very beginner in Catalyst and now I've faced up with the problem: on
> my dev sever (script/myapp_server.pl <http://myapp_server.pl>) I've got
> urls to static files like, for example 0.0.0.0/image.png
> <http://0.0.0.0/image.png>, instead of localhost:3000/image.png. (in
> template it looks like <img src="/image.png" />
> So, I can't load any static file in my dev-server. Please, help me to
> figure out what's going.
> And yes, uri_for('/image.png') works fine, but, may be, there is another
> way to do it?
>
> Thanks for youre help.
>
>
> _______________________________________________
> List: Catalyst at lists.scsys.co.uk
> Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
> Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
> Dev site: http://dev.catalyst.perl.org/
>



More information about the Catalyst mailing list