1

私は次のルートを持っています

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

開発とステージングでは、page/about に移動すると正しいページに移動します。ただし、本番環境ではuninitialized constant Page::PagesControllerエラーが発生します

4

2 に答える 2

0

このエラーは、PagesController しかない場合に発生します。ルートで名前空間を使用すると、ケースを使用して Page::PagesController があることが期待されます。ルートを次のように変更します

match '/page/about' => 'pages#show', slug: 'page_about'
match '/page/contact' => 'pages#show', slug: 'page_contact'
于 2013-02-01T15:15:11.150 に答える
0

ここで名前空間を使用するべきではありません。「スラッグ」を渡す理由がわかりません。このような単純なルートの場合、必要なのは次のとおりです。

get "/page/about"
get "/page/contact"

これらは から以下を生成しますrake routes:

pages_about   GET /pages/about(.:format)      pages#about
pages_contact GET /pages/contact(.:format)    pages#contact
于 2013-02-01T15:15:48.623 に答える