2010-03-05 14 views

Respuesta

7

Parece que es bastante fácil:

output_style = RAILS_ENV == "production" ? :compressed : :nested 

Para comprobar que me he encontrado esta tarea rake en diferentes entornos (que tenía que cambiar Sass fuente antes de ejecutar esta tarea):

namespace :sass do 
    desc 'Updates stylesheets if necessary from their Sass templates.' 
    task :update => :environment do 
    Sass::Plugin.update_stylesheets 
    end 
end 

Puede colocar esta tarea en lib/tasks/sass.rake.

más que tengo esta tarea se ejecuta en mi deploy.rb Capistrano para actualizar automáticamente las hojas de estilo en la producción durante el despliegue:

after 'deploy:restart', 'sass:update' 

namespace :sass do 
    desc 'Updates the stylesheets generated by Sass' 
    task :update, :roles => :app do 
    invoke_command "cd #{current_release}; rake sass:update RAILS_ENV=production" 
    end 
end 
6

Además de la respuesta por Voldy He resuelto el problema mediante la creación de un inicializador llamada y sass_config poniéndolo en esto:

Sass::Plugin.options[:style] = case RAILS_ENV 
    when 'production' then :compressed 
    when 'staging' then :compact 
    when 'development' then :expanded 
    else 
    :nested 
end 
+0

Esto parece no funcionar más. –

Cuestiones relacionadas