1

我正在将 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,但这并没有帮助。

非常感谢您的帮助。;-)

尼科

4

3 回答 3

5

我遇到了同样的错误。但原因是我将缓存存储设置为redis,但我忘了启动redis服务器。

于 2011-08-02T22:14:06.713 回答
0

我有同样的错误,因为将默认的 memcached 存储更改为 dalli。

https://gist.github.com/1625476

于 2012-01-17T08:47:39.757 回答
0

好的,不确定问题出在哪里,但我通过切换到 Thin 作为网络服务器解决了这个问题。webrick 和 mongrel 都出现了问题。

于 2011-07-11T07:12:00.513 回答