我有以下路线
namespace :page do
match '/about' => 'pages#show', slug: 'page_about'
match '/contact' => 'pages#show', slug: 'page_contact'
end
在开发和暂存中,转到page / about会转到正确的页面。但是在生产中,我收到uninitialized constant Page::PagesController
错误
答案 0 :(得分:0)
当您只有PagesController时会发生该错误。在路由中使用命名空间需要您使用您的案例Page :: PagesController。将您的路线更改为
match '/page/about' => 'pages#show', slug: 'page_about'
match '/page/contact' => 'pages#show', slug: 'page_contact'
答案 1 :(得分:0)
你不应该在这里使用命名空间,我不知道你为什么要传递“slug”。对于像这样的简单路线,您只需要:
get "/page/about"
get "/page/contact"
这些会从rake routes
生成以下内容:
pages_about GET /pages/about(.:format) pages#about
pages_contact GET /pages/contact(.:format) pages#contact