我正在将大部分应用程序迁移到管理命名空间,虽然有很多与此相关的指南,但我仍然无法管理。我主要关注this answer ,以及谷歌提出的任何结果(他们都倾向于同意)。有人可以告诉我我做错了什么,这样我就不会再失眠了吗?
这是错误消息:
wrong argument type Module (expected Class)
app/controllers/application_controller.rb:1:in `<top (required)>'
app/controllers/admin/admin_controller.rb:1:in `<top (required)>'
app/controllers/admin/home_controller.rb:1:in `<top (required)>'
routes.rb
namespace :admin do
root :to => "home#index"
resources :users
end
admin/admin_controller.rb
class Admin::AdminController < ApplicationController
admin/home_controller.rb
class Admin::HomeController < Admin::AdminController
admin/users_controller.rb
class Admin::UsersController < Admin::AdminController
我确信这与模块和 Controller 交互相关很简单,所以我没有包含任何其他代码。不过,我现在应该已经找到了解决方案,如果需要任何其他代码,请告诉我。
谢谢。
最佳答案
我遇到了相反的问题“错误的参数类型类(预期的模块)”,结果发现有一个助手定义为类而不是模块,因此尝试搜索无意中定义为模块的类。就像定义为模块的 Controller 一样。
关于ruby-on-rails - Rails 3 管理命名空间问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3682996/