サインイン後、正しい URL (一致するサブドメインを含む) に移動しますが、「xxx としてログイン」および「サインアウト」ではなく「サインアップ」または「サインイン」がまだ表示され、user_signed_in?
false が返されることを意味します (current_user設定されていません)。
application_controller.rb は次のとおりです。
private
def after_sign_in_path_for(resource)
logger.info root_url(subdomain: current_user.username)
logger.info user_signed_in?
root_url(subdomain: current_user.username)
end
user_signed_in?
ここに戻りtrue
ます。
リダイレクト先の home_controller.rb:
def show
logger.info user_signed_in?
@user = User.find_by_username!(request.subdomain)
end
一方、ここでは をuser_signed_in?
返しますfalse
。
ルート ファイル:
constraints(Subdomain) do
match '/' => 'home#show', as: :user
end
root :to => 'home#welcome'
Arun がコメントで述べたように、問題は、同じ名前の 2 つの Cookie にあることを発見しましたが、1 つはトップレベル ドメイン用で、もう 1 つはサブドメイン用です。
Cookie を 1 つだけ削除する方法や、まったく設定しない方法はありますか? を試しreset_session
ましたが、両方の Cookie が削除されました。