未初始化的常量Page :: PagesController

时间:2013-02-01 15:13:02

标签: ruby-on-rails

我有以下路线

namespace :page do
  match '/about' => 'pages#show', slug: 'page_about'
  match '/contact' => 'pages#show', slug: 'page_contact'
end

在开发和暂存中,转到page / about会转到正确的页面。但是在生产中,我收到uninitialized constant Page::PagesController错误

2 个答案:

答案 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