当我登录或注册Facebook时,我被重定向到我的根网址。 在我的omniauthcallbacks控制器中,这是我认为正在发生的地方:
def facebook
@user = Artist.from_omniauth(request.env["omniauth.auth"])
if @user.persisted?
sign_in_and_redirect :artist, @user, :event => :authentication #this will throw if @user is not activated
set_flash_message(:notice, :success, :kind => "Facebook") if is_navigational_format?
else
session["devise.facebook_data"] = request.env["omniauth.auth"]
redirect_to new_user_registration_url
end
end
我需要做些什么才能将其重定向到另一条路线?
答案 0 :(得分:0)
在应用程序控制器中,您可以定义以下方法:
并将用户发送到任何您想要的地方。在我的应用程序中,我有Users和AdminUsers,这就是我的方法:
def after_sign_in_path_for(resource)
case resource
when AdminUser
admin_root_path
else
session.delete(:after_sign_iou_url) || root_path
end
end
会话变量在别处设置。