Ruby on rails 尝试在Rails路由中使用命名空间时获取ActionController::RoutingError uninitialized常量
我有两个控制器Ruby on rails 尝试在Rails路由中使用命名空间时获取ActionController::RoutingError uninitialized常量,ruby-on-rails,ruby,ruby-on-rails-4,Ruby On Rails,Ruby,Ruby On Rails 4,我有两个控制器dashboard和posts。我正试图将帖子的:新建,:创建,:销毁,:编辑,:更新操作放在仪表板url中,就像这样仪表板/posts/new。但是,im正在与posts控制器中的新操作进行对话。不在仪表板控制器中。这是我的routes.rb文件: resources :posts, :except => [:new, :create, :destroy, :edit, :update] get 'dashboard', to: 'dash#show' namespac
dashboard
和posts
。我正试图将帖子的:新建,:创建,:销毁,:编辑,:更新
操作放在仪表板
url中,就像这样仪表板/posts/new
。但是,im正在与posts
控制器中的新操作进行对话。不在仪表板控制器中。这是我的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
如何解决此问题?找不到常量“Dashboard”。我认为问题在于,假设您有两个控制器DashController
和PostsController
,那么您有时使用dash
,有时使用dashboard。
如果您想访问名称空间范围内的一些POST路由,则可以如下定义路由:
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'
@jmromer安装了仪表板控制器,但路径是Dashboard。我将所有内容重命名为dash
,但仍然收到相同的错误