Rails 3.1 Asset Pipeline对我不起作用

时间:2011-07-06 13:09:19

标签: ruby-on-rails ruby ruby-on-rails-3.1 asset-pipeline

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

非常感谢帮助。 ; - )

尼科

3 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:0)

好的,不确定问题是什么,但我通过切换到瘦作为网络服务器摆脱了这个问题。 webrick和mongrel都出现了问题。

答案 2 :(得分:0)

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

请参阅https://gist.github.com/1625476