In Rails 3 wurden Edelsteine, die ausschließlich zur Generierung von Assets in der Asset-Pipeline verwendet wurden, ordnungsgemäß in die assets
Gruppe der Gemfile eingefügt:
...
# Gems used only for assets and not required
# in production environments by default.
group :assets do
gem 'sass-rails'
gem 'coffee-rails'
gem 'uglifier'
# See https://github.com/sstephenson/execjs#readme for more supported runtimes
# gem 'therubyracer', :platforms => :ruby
end
Laut der (noch laufenden) Upgrade-Dokumentation :
Rails 4.0 hat die Assets-Gruppe aus Gemfile entfernt. Sie müssten diese Zeile beim Upgrade aus Ihrer Gemfile entfernen.
Sicher genug, wenn Sie ein neues Projekt mit RC1 erstellen, erhalten Sie eine Gem-Datei mit Asset-bezogenen Gems, die standardmäßig außerhalb einer Gruppe enthalten sind:
source 'https://rubygems.org'
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '4.0.0.rc1'
# Use sqlite3 as the database for Active Record
gem 'sqlite3'
# Use SCSS for stylesheets
gem 'sass-rails', '~> 4.0.0.rc1'
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'
# Use CoffeeScript for .js.coffee assets and views
gem 'coffee-rails', '~> 4.0.0'
# See https://github.com/sstephenson/execjs#readme for more supported runtimes
# gem 'therubyracer', platforms: :ruby
...
Bedeutet dies, dass diese Edelsteine jetzt standardmäßig in Produktions-Builds gebündelt werden? Wenn ja, warum die Veränderung des Herzens? Bewegt sich Rails 4 in Richtung einer dynamischen Generierung von Assets in der Produktion?
RAILS_GROUPS=assets
(siehe Rails.groups
), um Assets in der Produktion in Ihrer Build-Umgebung vorkompilieren zu können.