Rails重定向问题 - Hartl的Rails教程10.2.3

时间:2011-03-03 06:48:30

标签: ruby-on-rails-3 redirect

我是一个完整的菜鸟,通过Michael Hartl的(很棒的)Rails教程,并且在Ch.10.2.3中遇到了友好重定向的问题。目的是尝试存储位置,重定向到登录页面,然后在登录完成后重定向回原始目标目的地。我的问题是它只是在登录/创建会话后呈现标准用户配置文件页面,而不是重定向。

我在sessions_controller中有这个:

def create
  user = User.authenticate(params[:session][:email],
                           params[:session][:password])
  if user.nil?
    flash.now[:error] = "Invalid email/password combination."
    @title = "Sign in"
    render 'new'
  else
    sign_in user
    redirect_back_or user
  end
end

这在sessions_helper:

def authenticate
  deny_access unless signed_in?
end

def deny_access
  store_location
  redirect_to signin_path, :notice => "Please sign in to access this page."
end    

def redirect_back_or(default)
  redirect_to(session[:return_to] || default)
  clear_return_to
end

private
  def store_location
    session[:return_to] = request.fullpath
  end

 def clear_return_to
   session[:return_to] = nil
 end

我确定我又犯了一个愚蠢的,简单的错误,但我找不到它......帮忙?

1 个答案:

答案 0 :(得分:1)

代码可在此处获取:https://github.com/railstutorial
考虑为自己创建一个仅使用此存储库代码的新git分支(或新项目)。然后,当出现问题时,您将拥有一个可用的本地版本进行比较。