我想我可能会误解Rails会话的某些内容,因此请耐心等待,我可能不会以最佳方式来表达我的问题。当我有并发请求时,我的Rails会话正在重置
我正在开发一个带有Ruby on Rails后端的iPhone应用程序。我有一个默认情况下转到一个控制器(并使用会话)的索引操作的web视图,并且在后台将一堆API调用转到另一个控制器(并且不需要使用会话)。
问题是,我的web视图设置的会话似乎被API调用所过度。我的临时服务器是相当缓慢的,所以有很多的时间要求相互重叠 - 我在日志中看到基本上是这样的:
Request A (first controller) starts. Session is empty.
Request B (second controller) starts. Session is empty.
Request A finishes. Request A has done authentication, and stored the user ID in the session. Session contains user ID.
Request B finishes. Session is empty.
Request C starts. Session is empty - not what I want.
现在,奇怪的是,要求乙方应不会写会议的任何事情。
我有之前和之后从进程中读取过滤器 - 喜欢的东西:
user = User.find_by_id(session[:id])
或
logger.debug session.inspect
,如果我删除所有这些,那么一切正常 - 会议内容由请求A设置,并且当请求C启动时它们仍然在那里。
所以。我想我错过了会议的工作方式。为什么从会话中读取会覆盖它?我应该以其他方式访问它吗?我完全走错了路,问题在别处吗?
谢谢你的任何见解!
同样的事情也发生在我身上。你有没有找到解决方案? – jumpa 2012-07-17 01:33:16