我正在尝试为页面设置命名路由:
www.myhost.com/blog/about
(map.about '/about', :controller => 'page', :action => 'about')
我有另一条资源路线:
www.myhost.com/blog/post/3
(map.resources :posts)
现在我不知道应该如何链接到“关于”页面。如果我使用
<%= link_to 'About', about_url %>
或<%= link_to 'About', 'about' %>
只有在我转到blog/posts
和blog/about
时才能正常工作。当我打开blog/post/1
时,指向about页面的链接会获得一个网址blog/post/about
。
如何强制它从应用程序根目录创建绝对路径?
答案 0 :(得分:2)
(a)和(b)的HTML输出应该是这样的。仅在使用方法(b)时才会出现此问题。
A)
<a href="http://127.0.0.1:3000/about">About</a>
b)中
<a href="about">About</a>
如果您需要来自应用程序根目录的绝对路径,则可以将about_path
作为第二个参数传递给link_to
帮助程序。(<%= link_to 'About', about_path %>
)。这将产生如下所示的链接。
<a href="/about">About</a>