У Rails 3 дорогоцінні камені, що використовуються виключно для отримання активів у конвеєрі активів, були належним чином розміщені у assets
групі 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
Тепер, відповідно до (ще триває) документації щодо оновлення :
Rails 4.0 видалив групу активів із Gemfile. Під час оновлення вам потрібно буде видалити цей рядок зі свого Gemfile.
Звичайно, створення нового проекту з RC1 дає Gemfile з дорогоцінними дорогоцінними каменями, включеними за замовчуванням за межами будь-якої групи:
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
...
Чи означає це, що ці дорогоцінні камені тепер за замовчуванням будуть вбудовуватися у виробничі комплекти? Якщо так, то чому змінити серце? Чи рухається Rails 4 до динамічного генерування активів у виробництві?
RAILS_GROUPS=assets
(див. Rails.groups
) Перед командою попереднього компілювання активів у виробництві у вашому середовищі побудови.