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 に答える