我正在将Rails 2.5应用程序升级到Rails 3.1 rc4,我在开发中遇到了大量与资产管道相关的错误:
cache: [GET /assets/application-272985f6b5b17a3aeb1b84a6a376e225.css] miss, store
2011-07-06 16:03:56 +0300: Read error: #<NoMethodError: You have a nil object when you didn't expect it!
You might have expected an instance of Array.
The error occurred while evaluating nil.each>
gems/ruby-1.9.2-p0/gems/rack-1.3.0/lib/rack/handler/mongrel.rb:90:in `process'
gems/ruby-1.9.2-p0/gems/mongrel-1.2.0.pre2/lib/mongrel.rb:165:in `block in process_client'
gems/ruby-1.9.2-p0/gems/mongrel-1.2.0.pre2/lib/mongrel.rb:164:in `each'
gems/ruby-1.9.2-p0/gems/mongrel-1.2.0.pre2/lib/mongrel.rb:164:in `process_client'
gems/ruby-1.9.2-p0/gems/mongrel-1.2.0.pre2/lib/mongrel.rb:291:in `block (2 levels) in run'
基本上这里对application.css的请求返回一个空体。
首先我认为它可能是一个服务器问题,所以我切换到webrick,但这没有帮助。
非常感谢帮助。 ; - )
尼科
答案 0 :(得分:5)
我遇到了同样的错误。但原因是我将缓存存储设置为redis但我忘了启动redis服务器。
答案 1 :(得分:0)
好的,不确定问题是什么,但我通过切换到瘦作为网络服务器摆脱了这个问题。 webrick和mongrel都出现了问题。
答案 2 :(得分:0)
我有同样的错误,因为将默认的memcached存储更改为dalli。