机架错误(不是动态编译)在开发中提供资产

时间:2013-03-30 01:32:11

标签: ruby-on-rails ruby-on-rails-3 asset-pipeline rack

今天,服务资产已开始创建此错误:

!! 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

我正在使用coffeescript和SCSS(application.js.coffee和application.css.scss)

来自Gemfile:

group :assets do
  gem 'sass-rails',   '~> 3.2.3'
  gem 'compass-rails'
  gem 'coffee-rails', '~> 3.2.1'
  gem 'marionette-rails'
  gem 'uglifier', '>= 1.0.3'
end

使用ruby 1.9.3-p392和1.9.3-p125会导致此问题。此错误的Google结果几乎不存在。

2 个答案:

答案 0 :(得分:6)

上面的答案会在一个案例中为我解决,但是我在另一个项目中再次解决了这个问题并且发现了两者之间的相似性。

开发中的缓存导致此问题,在development.rb中只需添加/更新以下行并重新启动应用程序:

config.action_controller.perform_caching = false

答案 1 :(得分:3)

我在几天内遇到了同样的问题。我认为这个问题是由最新版本的rails和旧宝石之间的冲突引起的。更新宝石应该可以解决问题(它对我有用)。