我有一个带有单个控制器的简单 Rails 应用程序。我的控制器的某些方法有一个“过滤前”,我通过查看会话对象来检查用户是否已登录:
@user = User.where(:id => session[:user_id]) if session[:user_id]
在我的控制器的“登录”方法中,我这样做:
session[:user_id] = user.id
很平常的东西。如果我从网络浏览器 (Chrome) 访问我的应用程序,一切正常。但是,当我使用 iOS 应用程序中的 NSURLRequest 访问我的 rails 应用程序时,服务器总是为每个请求创建一个新会话。它似乎永远无法识别现有会话,即使请求正在发送带有正确会话 ID 的 cookie。事实上,如果我查看我的 rails 应用程序中的“cookies”对象,我可以看到它包含会话 ID。但是,会话对象始终为空!不知道为什么服务器无法检索会话。我正在使用Passenger Phusion。有什么建议么?