AssetNotPrecompiledError при использовании гема html5-rails в производственной среде env

У меня есть html5-rails и compass-html5 работает в devlopment on rails 3.1, но когда я запускаю свое приложение в производственном режиме и пытаюсь посетить свою домашнюю страницу, я получаю следующее:

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

polyfills.js isn't precompiled

Дело в том, что localhost: 8080: /assets/polyfills.js действительно отображается. Я подозреваю, что есть проблема с моими методами:

Шаги для воспроизведения:

1 Создайте новое приложение rails с домашним контроллером, индексируйте действие и настройте корневой маршрут и удалите public / index.html и views / layouts / application.html.erb

2 Добавьте следующее в 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

3 Выполните rails g html5: install , чтобы создать ] /config/compass.rb файл

4 Создайте / config / initializers / sass.rb , содержащий следующий код:

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

5 Run RAILS_ENV = production bundle exec rake assets: precompile

6 Run unicorn -E production (или rails s -e production , если вы используете Webrick) и посетите корневой URL

7 Обратите внимание на ошибку

Правильно уменьшенные response-md5.min.js и modernizr-md5.min.js находится в / public / assets . Скомпилированный код js действительно появляется, когда я посещаю localhost: 8080 / assets / modernizr.min.js . Ошибка сервера возникает, когда я пытаюсь зайти на свою домашнюю страницу.

Я подозреваю, что в моем методе есть ошибка. Я задал тот же вопрос здесь на github.

5
задан stephenmurdoch 14 September 2011 в 18:40
поделиться