如何正确链接到静态页面?

时间:2011-06-11 13:57:06

标签: ruby-on-rails static routes

我使用网页模型跟踪了关于创建和显示静态页面的railscast,我的代码如下所示:

页面模型

包含名称,永久链接和说明字段。

路线:

get "log_in" => "sessions#new", :as => "log_in"
get "log_out" => "sessions#destroy", :as => "log_out"
get "sign_up" => "users#new", :as => "sign_up"
root :to => "users#new"

resources :pages

match ':permalink', :controller => 'pages', :action => 'show'

_footer.html.erb

<div class="footer">
  <div class="footer_container">
    <%= link_to 'About Us', root_path('about') %>
  </div>
</div>

转到/ localhost:3000 / about正确显示about页面,但页脚中的链接想要指向/localhost:3000/.about并实际链接到注册新用户页面。

如何获取指向/关闭并显示该页面的链接?

感谢任何帮助,非常感谢!

1 个答案:

答案 0 :(得分:3)

root_path将始终将您带到#new用户,因为这是您在routes.rb文件中指定的内容。您可以做的是使用:as键命名您的最后一条路线,如下所示:

match ':permalink', :controller => 'pages', :action => 'show', :as => 'my_page'

然后在你的观点中,你应该能够做到这样的事情:

<%= link_to 'About Us', my_page_path('about') %>