2010-03-05 4 views

risposta

7

Sembra che è abbastanza facile:

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

a controllare ho eseguito questo compito rastrello in ambienti diversi (ho dovuto cambiare sass fonte prima di eseguire questo compito):

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

È possibile inserire questo compito in lib/task/sass.rake.

Else ho questa attività in esecuzione nel mio deploy.rb Capistrano per aggiornare automaticamente i fogli di stile sulla produzione durante la distribuzione:

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

Oltre alla risposta da Voldy ho risolto il problema creando un sass_config inizializzazione chiamato e mettendo questo in esso:

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

Questo non sembra funzionare più. –