In Rails 3, le gemme utilizzate esclusivamente per generare asset nella pipeline di asset erano correttamente posizionate nel assets
gruppo del Gemfile:
...
# 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
Ora, secondo la documentazione dell'aggiornamento (ancora in corso) :
Rails 4.0 ha rimosso il gruppo di asset da Gemfile. Dovresti rimuovere quella riga dal tuo Gemfile durante l'aggiornamento.
Abbastanza sicuro, realizzare un nuovo progetto con RC1 produce un Gemfile con gemme relative alle risorse incluse per impostazione predefinita al di fuori di qualsiasi gruppo:
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
...
Questo significa che queste gemme verranno ora raggruppate in build di produzione per impostazione predefinita? In caso affermativo, perché cambiare idea? Rails 4 si sta muovendo verso la generazione dinamica di asset in produzione?
RAILS_GROUPS=assets
(vedi Rails.groups
) prima del comando per precompilare gli asset in produzione nel tuo ambiente di compilazione.