LoginSignup
175
196

More than 5 years have passed since last update.

Rails4でdeviseのControllerをカスタマイズする

Posted at

Rails認証エンジンDeviseのControllerをカスタマイズする方法について説明します。

:octocat: https://github.com/plataformatec/devise

Devise導入方法

Gemfileにdeviseを追加

Gemfile
gem 'devise'

deviseインストール&Userモデルを生成

bundle Install
rails g devise:install
rails g devise User

DeviseControllerのカスタマイズ方法

認証ユーザーのモデルが User であれば、app/controllers/users ディレクトリ以下にファイル作成

rails g devise:controllers users
rails g devise:controllers [scope]

で app/controllers/[scope]以下に以下のControllerが生成される

  • confirmations_controller.rb
  • omniauth_callbacks_controller.rb
  • passwords_controller.rb
  • registrations_controller.rb
  • sessions_controller.rb
  • unlocks_controller.rb

ルーティング設定

生成したDeviseControllerのルーティングを設定します。

routes.rb
devise_for :users, :controllers => {
 :registrations => 'users/registrations'
}

上記はregistrations_controller.rbのルーティング設定で、sessions_controller.rbなどのルーティングも設定したい場合はroutes.rbに下記を追加

routes.rb
devise_for :users, :controllers => {
 :registrations => 'users/registrations',
 :sessions => 'users/sessions'
}

参考

Rails で Devise のコントローラーをカスタマイズ
Rails – Deviseのコントローラをカスタマイズする方法
Devise で devise_for メソッドによるルーティングを確認

175
196
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
175
196