我使用网页模型跟踪了关于创建和显示静态页面的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并实际链接到注册新用户页面。
如何获取指向/关闭并显示该页面的链接?
感谢任何帮助,非常感谢!
答案 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') %>