具有paginate的Rails会话[:lists_page]仅在Chrome上不起作用

时间:2018-09-19 14:23:15

标签: ruby-on-rails

在Ruby 2.2.10,Rails 4.2.10上

使用分页宝石3.0.6

这不会在开发中发生,而只会在生产中发生,是的,我将therubyracer设置为可以在gem文件中的生产环境中加载。

为了方便用户,我使用一个会话变量来存储Paginate实例的页面,因此,如果屏幕刷新时页面的内容位于页面中心,则右侧的Paginate列表将保留在同一页面上。

在Firefox和Safari上可以正常使用,但在Chrome上,它可以还原到首页。就像会话变量没有被存储(但是在运行其他浏览器类型时仍在存储。奇怪的是,会话变量在服务器上而不是在浏览器上)

MYLISTS_ROWS是设置为10的环境变量

控制器代码:

  if  params[:lists_page] == nil
    #logger.info("lists_page parameter is nil ")
  else
    # set session variable of last mylists page
    session[:lists_page] = params[:lists_page]
  end

  # get ftypes for list of ftypes
  @mylists = List.my(current_user.id).ftypes.paginate(:page => session[:lists_page], :per_page => MYLISTS_ROWS)  

1 个答案:

答案 0 :(得分:0)

在AWS的生产环境中,在Chrome浏览器中,我的应用有2个会话Cookie。我刷新了cookie,现在可以了。