Rails-超类不匹配 [英] Rails - superclass mismatch
问题描述
玩Rails和控制器继承.
Playing with Rails and controller inheritance.
我创建了一个名为AdminController
的控制器,并在/app/controllers/admin/admin_user_controller.rb
I've created a controller called AdminController
, with a child class called admin_user_controller
placed in /app/controllers/admin/admin_user_controller.rb
这是我的路线.
namespace :admin do
resources :admin_user # Have the admin manage them here.
end
app/controllers/admin/admin_user_controller.rb
app/controllers/admin/admin_user_controller.rb
class AdminUserController < AdminController
def index
@users = User.all
end
end
app/controllers/admin_controller.rb
app/controllers/admin_controller.rb
class AdminController < ApplicationController
end
我有一个要使用管理员权限进行编辑的用户模型.
I have a user model which I will want to edit with admin privileges.
当我尝试连接到:http://localhost:3000/admin/admin_user/
我收到此错误:
superclass mismatch for class AdminUserController
推荐答案
要完成@Intrepidd所说的内容,您可以将类包装在模块中,以使AdminUserController
类不会从ApplicationController
继承两次,所以一个简单的解决方法是:
To complete what @Intrepidd said, you can wrap your class inside a module, so that the AdminUserController
class doesn't inherit twice from ApplicationController
, so a simple workaround would be :
module Admin
class AdminUserController < AdminController
def index
@users = User.all
end
end
end
这篇关于Rails-超类不匹配的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!