我正在研究公司管理員應該能夠在其公司中創建和更新用戶的應用程序。 (用戶也可以獨立創建和更新他們的帳戶)。Cancan +設計,讓管理員管理用戶的最佳方式
我使用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,我有一個控制器(/應用/控制器/管理/users_controller.rb)以及專用於管理用戶管理的相關視圖。
class Admin::UsersController < Admin::BaseController
...
end
現在,什麼是最簡潔的方式來實現設計相關的用戶管理功能(在這一點上,創建和更新用戶)?
在我的「常規」registrations_controller和confirmations_controller中有一個條件(基於用戶權限)來呈現和重定向不同的視圖? (參見Devise form within a different controller)
或者在我的管理命名空間中創建新的控制器?如果最新的更好,那麼主要的步驟是什麼?
感謝您的解釋!你能解釋一下這種情況下的路線嗎? – alex
@alex,我添加到我的答案是什麼路線將看起來像。 – janders223
我將我的admin/users_controller聲明爲「class Admin :: UsersController」some_devise_controller「end 2)你正在測試一個Devise控制器繞過路由器。「這裏缺少什麼? –
alex