レールMVCモデルでは、モデルはセッションを認識しません。したがって、ユーザーモデルは、サインインされたユーザーがいるかどうかを知る必要がありません。あなたは、ユーザーがセッションに値を設定できるルート・パス上の他のヒット対に符号からリダイレクトされた場合と区別したい場合は
:
# routes.rb
devise_for :users, controllers: { sessions: 'sessions' }
# app/controllers/sessions_controller.rb
class SessionsController < Devise::SessionsController
def create
super do
session[:just_signed_in] = true
end
end
end
# this would be whatever controller you have that handles the route path
class HomeController
after_action :cleanup!
def index
if session[:just_signed_in]
# ...
else
# ...
end
end
private
def cleanup!
session.delete(:just_signed_in)
end
end
これを行うための別の方法を追加することですクエリのパラメータはredirect path after sign inです。
出典
2017-05-09 18:32:00
max
ありがとうございます。感謝。 –