#deviseで生成したコントローラーのカスタマイズ
deviseで色々操作する機会があったので、備忘録として残しておきます。
deviseをインストールする手順は省きます!
$ rails g devise:controllers users
以下のファイルが生成されます。
confirmations_controller.rb
omniauth_callbacks_controller.rb
passwords_controller.rb
registrations_controller.rb
sessions_controller.rb
unlocks_controller.rb
##コントローラーのカスタマイズ
routes.rb
devise_for :users, controllers: {
registrations: 'users/registrations',
sessions: 'users/sessions'
}
Devise.controllerの設定が上記のようにできます。
今回はregistrationsとsessionをカスタマイズしてみました!!
##ルーティングのカスタマイズ
ルーティングもカスタマイズができます。
routes.rb
devise_scope :user do
get 'users/index', to: 'users/registrations#index'
get 'users/destroy', to: 'users/sessions#destroy'
end
上記2つ合わせてみると,,,
routes.rb
Rails.application.routes.draw do
devise_for :users, controllers: {
registrations: 'users/registrations',
sessions: 'users/sessions'
}
devise_scope :user do
get 'users/index', to: 'users/registrations#index'
get 'users/destroy', to: 'users/sessions#destroy'
end
あとは$rake routesで変更がかかっているか確認をします
参考サイト