登录后,它会转到正确的网址(带有匹配的子网域),但我仍然会看到“注册”或“登录”而不是“以xxx登录”和“注销”,这意味着{ {1}}返回false(未设置current_user)。
这是application_controller.rb:
user_signed_in?
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?
。
重定向到的home_controller.rb:
true
而def show
logger.info user_signed_in?
@user = User.find_by_username!(request.subdomain)
end
此处返回user_signed_in?
。
路线档案:
false
正如Arun在评论中所说,问题,我发现有2个同名的cookie,但是一个用于顶级域,另一个用于子域。
有没有办法只删除一个cookie或根本不设置它?我尝试了constraints(Subdomain) do
match '/' => 'home#show', as: :user
end
root :to => 'home#welcome'
,但它删除了两个Cookie。