我有两个控制器dashboard
和posts
。我试图将帖子的:new, :create, :destroy, :edit, :update
个动作放在dashboard
个网址中,就像这个dashboard/posts/new
一样。但我正在与new
控制器中的posts
动作进行对话。不在dash
控制器中。这是我的routes.rb
文件:
resources :posts, :except => [:new, :create, :destroy, :edit, :update]
get 'dashboard', to: 'dash#show'
namespace :dashboard do
resources :posts, :only => [:new, :create, :destroy, :edit, :update]
end
get 'dashboard/posts', to: 'dash#posts'
有问题的两个控制器是:dash
和posts
现在,当我尝试访问http://localhost:3000/dashboard/posts/new
时,它说:
ActionController::RoutingError at /dashboard/posts/new
uninitialized constant Dashboard
如何解决这个问题?
答案 0 :(得分:1)
假设您有两个控制器DashController
和PostsController
。
并且您想访问namespace
范围内的一些帖子路线,然后您可以按如下方式定义路线:
resources :posts, :only => [:index, :show]
get 'dashboard', to: 'dash#show'
scope :dashboard do
resources :posts, controller: :posts ,:only => [:new, :create, :destroy, :edit, :update]
end
get 'dashboard/posts', to: 'dash#posts'
答案 1 :(得分:0)
无法找到常量“仪表板”。我认为问题在于您有时会使用dash
,有时会使用dashboard
。