会社の管理者が会社のユーザーを作成および更新できるアプリに取り組んでいます。(ユーザーは、自分のアカウントを個別に作成および更新することもできます)。
登録と権限管理には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
では、Devise 関連のユーザー管理機能 (この時点ではユーザーの作成と更新) を実装する最もクリーンな方法は何ですか?
「通常の」registrations_controllerとconfirmations_controllerに(ユーザー権限に基づいて)条件を付けて、異なるビューをレンダリングおよびリダイレクトしますか? (cf.別のコントローラー内でフォームを作成する)
または、管理者名前空間に新しいコントローラーを作成しますか? 最新の方が優れている場合、従うべき主な手順は何ですか?