我有这段代码,可以在'auth / facebook'
创建一个登录Facebook的页面链接index.html.haml
- if current_user
= link_to "Sign out", signout_path, id: "sign_out"
- else
= link_to "Sign in with Facebook", "/auth/facebook", id: "sign_in"
但是,如果我想要current_user重定向到'/ dashboard',那么当有人登录时,他们会自动从登录页面重定向。
会话控制器
class SessionsController < ApplicationController
def create
user = User.from_omniauth(env["omniauth.auth"])
session[:user_id] = user.id
redirect_to dashboard_url
end
def destroy
session[:user_id] = nil
redirect_to login_url
end
end
答案 0 :(得分:1)
在您的SessionsController
中,只需检查会话并重定向(如果已存在),但您尝试注销的情况除外:
before_filter :except => [:destroy] {|c| c.redirect_to dashboard_path if c.current_user }