会话[:上一个网址]无休止的滚动

时间:2014-10-05 20:15:16

标签: ruby-on-rails

当用户登录或注册我的应用程序时,他们会被重定向回他们所在的页面。

这是在application_controller.rb中执行该操作的代码:

def after_sign_in_path_for(resource)
  session[:previous_url] || root_path
end

问题是我使用ajax和will_paginate来实现无休止的滚动。当用户滚动浏览第一页然后他们登录时,他们会被重定向到如下所示的URL:

www.example.com/path_=1412539956365&page=6

仅显示第6页上的帖子。如何简单地重定向回:

www.example.com/path    

1 个答案:

答案 0 :(得分:1)

您可以使用正则表达式去除查询字符串。以下是使用rails控制台的示例:

 ?> session[:previous_url]
   => www.example.com/path_=1412539956365&page=6

 ?> session[:previous_url][/[^\?_]+/]
   => "www.example.com/path"

您可以将功能更改为:

def after_sign_in_path_for(resource)
  session[:previous_url][/[^\?_]+/] || root_path
end