【发布时间】:2011-07-24 23:10:15
【问题描述】:
我对 Rails 很陌生。我有一个登录系统,如果输入的数据有效,则设置session[:user]。但是,当稍后在ApplicationController 中引用session[:user] 时,无论上下文如何,它总是会给我一个错误,除非该行被注释掉。示例:
user = session[:user]
它给我的错误是一个通用的“此时不工作”错误,它实际上并没有说明问题所在。
编辑:这是错误。这是一个通用的。
We're sorry, but something went wrong.
We've been notified about this issue and we'll take a look at it shortly.
我还尝试了许多不同的变体,无论我在那里存储什么,它似乎仍然给我错误。这是我的代码:
登录处理:
session[:name] = valid_user.name
session[:password] = valid_user.password
会话验证(在每个页面视图上):
name = session[:name]
pass = session[:password]
【问题讨论】:
-
这听起来像是一个奇怪的错误。你能粘贴确切的错误吗?此外,还有一些关于如何指定会话的代码。确保不要在会话中存储整个模型。只需存储 id。
-
我没有看到错误。当您删除 name =session[:name] 时,您不会收到相同的错误吗?这种错误大多数时候表示重定向错误。
-
当我将 session[:name] 和 session[:password] 都替换为 "" 或注释掉检查会话数据的函数调用时,我没有收到错误消息。否则,我在每个页面上都会收到错误消息。
标签: ruby-on-rails ruby session