[typo] Where to get relative links within a view template?
de Villamil Frédéric
frederic at de-villamil.com
Mon Mar 23 06:47:43 EDT 2009
Le 23 mars 09 à 11:16, Tobias Weisserth a écrit :
> Hi everybody,
>
> in my view templates, I have a meta navigation bar in the header,
> that renders links to the administration login page, an about page
> and an imprint page. So far, I hard-coded these links. This is bad.
>
> So what's the proper way to generate these links? The link to the
> admin page should be easy as it is static. I thought about using the
> Blog class, I noticed a method there to retrieve the base url and
> just concatenate the admin page behind that.
>
> Would I need to come up with some kind of plugin that does the rest,
> thus generating links to pages? Or can I touch the routes/controller
> behaviour to create a mapping there manually after creating the
> pages I need (about, imprint)?
>
> thanks,
>
> Tobias W.
Hi Tobias,
We have some very helpful helpers to help (obvious heh) us make nice,
not hardcoded links in our views. The most important is base_url,
which is included into this_blog.
So to get to your admin, I would use:
<%= link_to "Admin", "#{this_blog.base_url}/admin" %>
You also have link_to_permalink which is kinda helpful. For example,
with pages, you can do:
<% pages = Page.find(:all, :conditions => {:state => 'published'}) %>
<% pages.each do |page| %>
<%= link_to_permalink(page, page.title) %>
<%end%>
And so on...
Cheers,
Frédéric
--
Frédéric de Villamil
"What's mine is mine. What's yours is still unsetteled" – Go player
proverb
frederic at de-villamil.com tel: +33 (0)6 62 19 1337
http://t37.net Typo : http://typosphere.org
More information about the Typo-list
mailing list