2011-09-14 47 views
5

我有html5-railscompass-html5在商發展工作在軌道上3.1,但是當我跑我的應用程序在生產模式,並嘗試訪問我的主頁,我得到如下:AssetNotPrecompiledError當使用HTML5的軌生產ENV寶石

Sprockets::Helpers::RailsHelper::AssetPaths::AssetNotPrecompiledError in Home#index 

polyfills.js isn't precompiled 

事情是localhost:8080:/assets/polyfills.js顯示。我懷疑是我的方法有問題:

重現步驟:

創建一個家居控制器,索引操作新的Rails應用程序,併成立了根路徑,並刪除公共/指數。 HTML的意見/佈局/ application.html.erb

添加下列的Gemfile

gem 'rails', '~> 3.1.0' 
gem 'unicorn' 
group :assets do 
    gem 'compass', "~> 0.12.alpha.0" 
    gem 'sass-rails', "~> 3.1.0" 
    gem 'coffee-rails', "~> 3.1.0" 
    gem 'uglifier' 
    gem 'compass-html5', :git => 'https://github.com/sporkd/compass-html5.git' 
    gem 'html5-rails', :git => "https://github.com/sporkd/html5-rails.git" 
end 

運行rails g html5:install創建/config/compass.rb文件

創建/config/initializers/sass.rb包含以下代碼:

Rails.configuration.sass.tap do |config| 
    config.load_paths << "#{Gem.loaded_specs['compass'].full_gem_path}/frameworks/compass/stylesheets" 
end 

運行RAILS_ENV=production bundle exec rake assets:precompile

運行unicorn -E production(或rails s -e production如果你在使用WEBrick)和訪問URL根

觀察錯誤

正確精縮響應,md5.min.jsmodernizr- md5.min.js出現在/public/assets。當我訪問localhost:8080/assets/modernizr.min.js時,編譯的js代碼確實會出現。當我嘗試訪問我的主頁時,服務器發生錯誤。

我懷疑我的方法有錯誤。我已經在github上提出了同樣的問題here

回答

6

我設法通過增加polyfills.js解決這個問題,以application.rb中

config.assets.precompile += %w(polyfills.js) 
0

我剛剛得到了同樣的錯誤,這個問題是我的檔案不見了......