我遵循了使用页面模型创建和显示静态页面的指南,并且我的代码如下所示:
页面模型
具有名称,永久链接和描述字段。
路线:
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可以正确显示“关于”页面,但是页脚中的链接希望直接指向/localhost:3000/.about,并且实际上是指向注册新用户页面的链接。
如何获得指向/ about的链接并显示该页面?
感谢您的帮助,不胜感激!
最佳答案
root_path将始终将您带到users#new,因为那是您在route.rb文件中指定的内容。您可以做的是使用:as键命名最后一条路线,如下所示:
match ':permalink', :controller => 'pages', :action => 'show', :as => 'my_page'
然后,在您的 View 中,您应该可以执行以下操作:
<%= link_to 'About Us', my_page_path('about') %>
关于ruby-on-rails - 如何正确链接到静态页面?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6316308/