我正在开发一个应用程序,公司管理员应该能够在其公司中创建和更新用户。(用户也可以独立创建和更新他们的帐户)。
我使用 Devise 和 Cancan 进行注册和权限管理。我配置了 Devise 以获得所需的注册和用户更新流程。我为管理视图创建了一个命名空间。
我的管理控制器 (/app/controllers/admin/base_controller.rb) 如下所示:
class Admin::BaseController < ApplicationController
authorize_resource :class => false
layout 'admin'
def dashboard
end
end
除了我的“常规” users_controller,我还有一个控制器(/app/controllers/admin/users_controller.rb)和专用于管理员用户管理的相关视图。
class Admin::UsersController < Admin::BaseController
...
end
现在,实现与设计相关的用户管理功能(此时,创建和更新用户)最简洁的方法是什么?
在我的“常规”registrations_controller 和confirms_controller 中有条件(基于用户权限)来呈现和重定向不同的视图?(参见在不同的控制器中设计表格)
或者在我的管理命名空间中创建新的控制器?如果最新的更好,要遵循的主要步骤是什么?