#actiondispatch :: cookies :: cookiejar的未定义方法`size':0x007fa415c12670>

时间:2015-07-29 08:39:36

标签: ruby-on-rails ruby-on-rails-3 authentication cookies

我正在将应用程序从rails 2.3迁移到rails 3.1,大部分都已完成但有问题,当会话过期并重新加载页面而不是重定向到登录页面时我收到错误

对于ActionDispatch :: Cookies :: CookieJar,

未定义的方法`大小':0x007fa415c12670>

这是我收到错误的代码

def access_denied
  respond_to do |accepts|
    accepts.html do
      test_location
      if cookies.size==0 && request.host == "somedomain.com"
        redirect_to "/cookies_disabled.html"
      else
        redirect_to new_session_url
      end
    end
    accepts.js do
      render :text => "window.location.href = '#{new_session_url}';"
    end
  end
  false
end  

任何帮助都会得到满足,谢谢。

2 个答案:

答案 0 :(得分:0)

似乎是这个的转贴 Rails 3.2.1 - cannot parse Cookie header: undefined method `size' for nil:NilClass

尝试更新您的机架宝石。

答案 1 :(得分:0)

显然没有size方法。

https://www.rubydoc.info/github/rails/rails/ActionDispatch/Cookies/CookieJar

cookies.to_json.size效果很好