[Rails] deviseのサインアップを無効にする

一瞬で終わる簡単な話だけど一応メモ。

シチュエーション

ユーザー登録の無いサイトだが運営者のデータ管理用にrails_adminなどの管理パネルを入れたい

そのページのアクセス権限をdevise+cancanなどで手軽に導入したい

deviseを普通に入れるとusers/sign_upのような誰でもユーザーを作れるルートが公開されてしまうのでこれを禁止したい

例えばこんな状況。

解決策

deviseの管理するmodel(userならapp/models/user.rb)から:registerableを抜く

berore:

after:

rails routesコマンドでルート一覧を見ればsign_upが消えているのが確認できます。
でwebからのサインアップを禁止した後どう自分用ユーザーを作るかというと、rails consoleコマンドから

のように作ればいいです。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする