[英]redirect after logging in successfully but still have original URL shown in browser address bar
[英]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.