Rails 2.3.11
如果用户在未登录时尝试转到/照片,则会将其定向到[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不在其中,因此参数不会与登录帖一起传入。任何人都可以向我解释为什么它不是,我怎么能解决它?
谢谢!
答案 0 :(得分:3)
您可以执行以下操作:
session[:return_to] ||= request.referer