スーパーユーザー/管理者のみが新しいユーザーを追加できるように、非管理者のサインアップをブロックしたい. どうすればそれを達成できますか?
ここに記載されている方法に従ってみました:ユーザーがサインインしているが結果が得られない場合を除き、「new_user_registration_path」へのアクセスを防止するフィルターの前に考案します。
私はdevise、cancan、およびrolifyをインストールしました。さらに、誰もこの/users/sign_up
ページにアクセスしてサインインしてほしくありません。新しいユーザーをサインアップできるのは管理者のみである必要があります。
デバイスのインストールにより、ユーザーコントローラーはありません。必要に応じて作成方法を教えてください。
routes.rb
FifthApp::Application.routes.draw do
devise_for :users
resources :qanotes
end
user.rb
class User < ActiveRecord::Base
#resourcify :resources
rolify
has_many :qanotes
# Include default devise modules. Others available are:
# :token_authenticatable, :confirmable,
# :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
end
サインアップ ページに移動しようとすると (ログイン後のみ)、ルート、つまり localhost:3000 にリダイレクトされ続けます。