2011-09-08 8 views
19

No entiendo qué está pasando exactamente con este grupo y qué está haciendo bundler con él. ¿Está solo cargado en el modo dev? ¿Qué sucede si quiero crear un nuevo tipo de entorno, cómo debo manejar este grupo? Etc.¿Cómo maneja el bundler el grupo de activos en rieles 3.1?

group :assets do 
    gem 'coffee-rails', "~> 3.1.0" 
    gem 'uglifier' 
end 

Respuesta

22

El código que se encarga :assets grupo colocado en config\application.rb. En los carriles 3.1 es:

if defined?(Bundler) 
    # If you precompile assets before deploying to production, use this line 
    Bundler.require *Rails.groups(:assets => %w(development test)) 
    # If you want your assets lazily compiled in production, use this line 
    # Bundler.require(:default, :assets, Rails.env) 
end 
+4

http://stackoverflow.com/a/7675331/474597 esta respuesta explica n – lulalala

8

Elaborar un poco en la respuesta, desde rails asset pipeline guide:

a) de forma predeterminada y no se incluyen en la producción:

# Gems used only for assets and not required 
# in production environments by default. 

b) Si agregue un nuevo tipo de entorno, desearía manejarlo de acuerdo con la respuesta de Dmitry anterior. Es decir, agréguelo como uno de los grupos que lo requerirá.

0

creo que debería ser,

if defined?(Bundler) 
    # If you precompile assets before deploying to production, use this line 
    Bundler.require(*Rails.groups(:assets => %w(development test))) 
    # If you want your assets lazily compiled in production, use this line 
    # Bundler.require(:default, :assets, Rails.env) 
end 

porque hay algún tipo de aviso con la línea,

Bundler.require *Rails.groups(:assets => %w(development test)) 

Así que usamos,

Bundler.require(*Rails.groups(:assets => %w(development test))) 

Esperanza esto ayuda:) -

Cuestiones relacionadas