Deviseで認証メールつきのサインアップをした時、登録アドレスに認証メールを送信した旨を伝えるページにリダイレクトさせる
カスタマイズするためにコントローラーを作成
code:bash
rails g devise:controllers Users
いくつか生成される中のclass Users::RegistrationsController < Devise::RegistrationsControllerを編集する
ページを表示させるためのアクションを追加
code:app/controllers/users/registrations_controller.rb
・
・
・
def thanks # 追加する
end
protected
・
・
・
routesを編集
code:config/routes.rb
・
・
・
# registrationsの動作をusers/registartionsに設定
devise_for :users, controllers: { registrations: 'users/registrations' } # controllers:以下追加
# thanksページを表示させるルーティングを追加
devise_scope :user do
get 'users/thanks' => 'users/registrations#thanks'
end
def devise_scope(scope)
constraint = lambda do |request|
true
end
constraints(constraint) do
yield
end
end
end
リダイレクトさせる
code:app/controllers/users/registrations_controller.rb
・
・
・
# The path used after sign up for inactive accounts.
def after_inactive_sign_up_path_for(resource) # 以下コメントアウトを外してよしなに追加
users_thanks_path
end
end
確認