繁体   English   中英

登录后重定向到原始目的地

[英]Redirect to original destination after logging in

导轨 2.3.11

如果用户在未登录时尝试 go 到 /photos,他们将被定向到[site]/admin/login?route=[site]/photos 他们登录后,我希望他们被发送到“路由”中定义的任何内容,而不是默认主页。

在 /app/controllers/admin_controller.rb 中:

def login
    if session[:user_id] #already logged in
      redirect_to ''
    @destination = request.url
    end
    if request.post?
      if [authentication code]
        if user.activated? #check to see whether the user has activated their account
          session[:user_id] = user.id
          if params[:route] # ********
            redirect_to "#{params[:route]}"
          else
            redirect_to :controller => 'home'
          end
        else
          flash.now[:notice] = "Your account hasn't been activated yet.  Check your emails!"
        end
      else
        flash.now[:notice] = "Invalid email/password combination"
      end
    end
  end

* ” ed 行是无法正常工作的行。 当我检查参数时, :route 不在其中,因此参数没有与登录帖子一起传递。 谁能向我解释为什么它不是以及我该如何解决它?

谢谢!

您可以执行以下操作:

session[:return_to] ||= request.referer

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM