У меня есть успешный проект Rails 3.0.x со следующим подмножеством Gems в Gemfile:
gem "compass"
gem "haml"
gem "haml-rails"
gem "html5-boilerplate"
Сегодня я попытался перейти на Rails 3.1 и сохранить всю функциональность, и у меня были многочисленные проблемы с этим. Я еще не нашел конфигурацию, которая бы работала для меня в производственном режиме, поэтому сейчас я работаю в режиме разработки.
Я следовал следующим советам:
- «Обновление до Rails 3.1» от Railscast: очень хорошо, как обычно, и рассказал мне, как изменить
production.rb
, development.rb
и application.rb
, чтобы обновить конфигурацию для конвейера активов. Но не трогал компас, sass и html5-шаблон.
- "Настроить html-шаблон с Rails 3.1" Он содержал наилучшее для меня решение, но не работает, потому что метод
ie_html
недоступен в производственном режиме. Изменение в Gemfile записано вниз
- "Невозможно заставить Rails 3.1, Compass, Sass, Blueprint работать на Heroku Cedar" Это не сработало для меня вообще, у меня были проблемы с активами, скомпилированными тогда. Там была попытка сделать все глобальным, потому что существует зависимость между Compass и Html-Boilerplate, а Html-Boilerplate должен быть глобальным из-за метода
ie_html
.
- Каждая попытка использовать только несколько самоцветов в блоке
group :assets
не увенчалась успехом. В большинстве случаев зависимость между, например, компас и sass, или компас и html5-шаблон не могут быть выполнены.
Итак, мой вопрос: есть ли работающий Gemfile, который позволяет использовать Haml, Sass, Compass, Html5-Boilerplate и, конечно, Rails 3.1 вместе?
Новый Gemfile работает в режиме разработки, но не в рабочем режиме:
gem "haml-rails"
group :assets do
gem 'sass-rails', " ~> 3.1.0"
gem 'coffee-rails', "~> 3.1.0"
gem 'uglifier'
gem 'compass', '~> 0.12.alpha.0'
gem "html5-boilerplate"
end
gem 'jquery-rails'
Я попытался создать новое приложение на Rails 3.1 и добавил туда ресурс изображения. Там все работает нормально, поэтому нет разницы между режимом разработки и режимом производства. В моем перенесенном приложении у меня теперь есть следующее состояние:
- Хорошо работает в режиме разработки.
- Отключите некоторые из html5-шаблонов, чтобы обойти проблемы на производстве.
- Пока не находит предварительно скомпилированные изображения в производственном режиме.