rails 3.1中的会话持续性问题

时间:2012-03-01 11:19:31

标签: ruby-on-rails-3 session

我需要一些关于如何解决会话问题的指示 - 现在我的会话不会持续存在,我正在开发一个我无法与之前的程序员直接沟通的应用程序。

我发现了两件事。

使用cookie作为会话存储 - 会话永远不会持久。例如,

def action1
  session[:counter] = 1
  redirect_to action: action2
end

def action2
  # session[:counter] -> this is now nil
end

然后我将会话存储切换到使用数据库,它将继续执行下一个操作,但是在刷新页面后,会话消失了,我注意到创建了一个新会话。

代码中有多个子域名,但是 - 在我的示例中,没有子域名,或者我们可以说网址始终保持不变。

编辑:

这可能是一个线索,所以我切换到活动记录存储,我可以看到rails正在创建一个新的会话。如果我转到浏览器tab1上的/ page,再次转到/ page,但在另一个选项卡上,rails将创建一个新会话。如果我刷新页面,情况会一样。

1 个答案:

答案 0 :(得分:0)

好的 - 不是我的问题的答案或解释,但它解决了我的问题。

我正在处理的项目使用Rails 3.0.5。我用最新的Rails版本= 3.2.1替换它,我的会话问题就消失了。

当然,如果有人可以解释早期Rails版本的内容以及可能会破坏会话的可能性,那会很好吗?可能是我机器的配置吗?