我遵循了使用页面模型创建和显示静态页面的指南,并且我的代码如下所示:

页面模型

具有名称,永久链接和描述字段。

路线:

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/

10-09 20:19
查看更多