我正在尝试在我的应用程序中使用会话数据,出于某种原因我没有正确的设置。
代码:
session[:key] = some_value
生成以下错误:
The error occurred while evaluating nil.[]
其他控制器没有会话问题,所以我猜我错过了一些基本配置的东西。
答案 0 :(得分:1)
好的,我想我现在已经明白了。我的情况稍微复杂一些。我实际上有以下内容:
session[:chat_history][chat.from.id] ||= []
所以我遇到了双数组错误。我添加了以下内容:
session[:chat_history] ||= []
问题是我第一次这样做,我把它放在了before_filter方法中。显然,在before_filter方法中会话对象是nil,至少我的应用程序设置方式。
所以我将初始化程序移动到实际访问会话的方法,生活又好了。
答案 1 :(得分:0)
看起来会话变量是nil,这让我觉得框架无法设置它是出于以下原因之一:
据说有些控制器有效。在这些控制器运行之前,某些东西是否有机会为用户创建会话?