0

我有这个代码,它创建一个链接到一个页面以在“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
4

1 回答 1

1

在您的SessionsController中,只需检查会话并重定向它是否已经存在,除非您尝试注销:

before_filter :except => [:destroy] {|c| c.redirect_to dashboard_path if c.current_user }
于 2013-07-24T22:19:15.173 回答