ruby-on-rails – 在POST请求中检查Rails中的会话时很奇怪
发布时间:2020-12-17 02:43:24 所属栏目:百科 来源:网络整理
导读:我在Rails中遇到了一个奇怪的错误,我正在创建一个用户可以登录和上传文件的应用程序.一切正常,但是当我想上传任何文件时,我的应用程序控制器中用于检查活动会话的代码失败,因为它无法访问会话数组: def current_user if session[:session].nil? # - Fails h
我在Rails中遇到了一个奇怪的错误,我正在创建一个用户可以登录和上传文件的应用程序.一切正常,但是当我想上传任何文件时,我的应用程序控制器中用于检查活动会话的代码失败,因为它无法访问会话数组:
def current_user if session[:session].nil? # <- Fails here redirect_to "/login" else if session[:hash] == Digest::SHA512.hexdigest(session[:password]+" - "+session[:username]+" - "+session[:uuid]) #< and here (removing the other if) with NoMethodError return 0 else redirect_to "/login" end end end 这适用于其他事情,但显然在POST请求中断.这是我上传文件的HAML视图: %b Upload %form{:action=>"/u",:method=>"post",:enctype=>"multipart/form-data"} %br %input{:type=>"file",:name=>"file"} %input{:type=>"submit",:value=>"Upload"} 我做错了什么?同样在POST请求中我进入应用程序日志:警告:无法验证CSRF令牌的真实性 解决方法
显然我必须添加这个:
%input{:type=>"hidden",:name=>"authenticity_token",:value=>form_authenticity_token.to_s} 到我的HAML表单,现在一切正常,不再警告:无法验证CSRF令牌真实性:) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |