[英]Rails 3.2 routing error with scope
这个问题困扰了我一整天。
好;
我只是试图将所有管理页面放在/ admin目录中,并仅通过domain / admin样式接收它们。 我试图使它与本指南一起运行。
根据该官方指南,我正在寻找的是在我的routes.rb
文件中使用scope
。 因为,我在页面内使用了时间的命名路由音。 我不希望我的名为route的program_path
更改admin_program_path
因为我有28种不同的用法。
所以我应该使用scope
而不是namespace
。
问题是:我无法使scope
适用于我的项目。
这是我的routes.rb
scope "/admin" do
get "access/login"
get "access/index"
match "access/login_attempt", to: "access#login_attempt"
match "access/logout", to: "access#logout"
resources :admin_users
root to: 'programs#index'
resources :programs
resources :program_categories
resources :program_subcategories
resources :articles
resources :pictures
match '/kategoriler/:id' => 'program_categories#show'
match '/kategoriler' => 'program_categories#index'
match '/kategori/yeni' => 'program_categories#new'
match 'program/yeni' => 'programs#new'
match 'programlar' => 'programs#index'
match '/progam_categories/select_category/:program_id' => 'program_categories#select_category'
match '/program_subcategories/select_subcategory' => 'program_subcategories#select_subcategory'
match '/program_subcategory/add_subcategory' => 'program_subcategories#add_subcategory'
end
这是我的控制器开始:
class ProgramsController < ApplicationController
就像在这里告诉:
If you want to route /admin/posts to PostsController (without the Admin:: module prefix), you could use
scope "/admin" do
resources :posts, :comments
end
结果,我得到了什么?
此错误信息:
Routing Error
uninitialized constant ProgramsController
无论我尝试访问哪个控制器,错误都uninitialized constant ProgramCategoriesController
这种方式更改。例如uninitialized constant ProgramCategoriesController
, uninitialized constant ProgramSubcategoriesController
等。
我试图将application_controller
放置在admin文件夹和controllers目录的根目录下...没办法。
我的错在哪里? :(
提前致谢...
尝试使用:module
参数:
scope '/admin', :module => 'admin' do
# ...
end
假定您的控制器位于Admin
模块名称空间中,因此它们以“ Admin ::”开头。
[编辑]
在以下有关路径冲突的评论中,它是对您的问题的答复。 您可以使用:as
参数,例如:
scope '/admin', :module => 'admin', :as => 'admin' do
# ...
end
您可以使用rake routes
进行检查。 现在,管理范围内的所有路由都应以“ admin_”开头
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.