2013-03-20 58 views
0

我从迁移Rails的2至3 Rails的一个大工地当我试图得到一个资产,我得到使用下面的错误WebrickRails的错误服务资产

Started GET "/assets/key.png" for 127.0.0.1 at 2013-03-20 11:00:06 -0300 
Served asset /key.png - 200 OK (15ms) 
[2013-03-20 11:00:08] ERROR NoMethodError: undefined method `each' for nil:NilClass 
    /usr/local/rvm/gems/ruby-1.9.3-p327/gems/rack-1.4.5/lib/rack/handler/webrick.rb:71:in `service' 
    /usr/local/rvm/rubies/ruby-1.9.3-p327/lib/ruby/1.9.1/webrick/httpserver.rb:138:in `service' 
    /usr/local/rvm/rubies/ruby-1.9.3-p327/lib/ruby/1.9.1/webrick/httpserver.rb:94:in `run' 
    /usr/local/rvm/rubies/ruby-1.9.3-p327/lib/ruby/1.9.1/webrick/server.rb:191:in `block in start_thread' 

我已经检查机架源代码和问题是在以下行的文件webrick.rb的(身体无):

body.each { |part| 
     res.body << part 
     } 

使用Thin我收到了类似的错误:

Started GET "/assets/key.png" for 127.0.0.1 at 2013-03-20 11:34:31 -0300 
Served asset /key.png - 200 OK (33ms) 
!! Rack application returned nil body. Probably you wanted it to be an empty string? 
!! Unexpected error while processing request: undefined method `each' for nil:NilClass 

并在浏览器:

Error 324 (net::ERR_EMPTY_RESPONSE): The server closed the connection without sending any data. 

我一直在努力与此错误。任何帮助?

+0

也许你应该尝试更新机架到更新的版本? – 2013-03-20 14:12:17

+0

我该怎么办?我也试过乘客,它没有工作。但让我知道如何更新机架。 – Tony 2013-03-20 14:19:57

+0

我会说'宝石更新架':) – 2013-03-20 14:25:04

回答

2

我发现了这个问题。

这与memcache有关。我没有安装它。

我只是评论如下一行:

config.cache_store =:mem_cache_store

0

事实上,它有一个丢失了内存缓存服务器做。在我的例子中,我发现Heroku还发布了关于设置一个快速的小型memcached服务器的说明,以便在本地复制您的生产环境。