是否可以在HAML / Rails中重定向页面?

时间:2013-07-24 21:40:54

标签: ruby-on-rails ruby redirect haml

我有这段代码,可以在'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

1 个答案:

答案 0 :(得分:1)

在您的SessionsController中,只需检查会话并重定向(如果已存在),但您尝试注销的情况除外:

before_filter :except => [:destroy] {|c| c.redirect_to dashboard_path if c.current_user }