加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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令牌真实性:)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读