我有html5-rails和compass-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.js和modernizr- md5.min.js出現在/public/assets。當我訪問localhost:8080/assets/modernizr.min.js時,編譯的js代碼確實會出現。當我嘗試訪問我的主頁時,服務器發生錯誤。
我懷疑我的方法有錯誤。我已經在github上提出了同樣的問題here。