2010-03-05 6 views

Antwort

7

Es scheint, dass es ziemlich einfach ist:

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

es zu überprüfen ich diese Rake Aufgabe in verschiedenen Umgebungen ausgeführt habe (ich hatte sass zu ändern Quelle, bevor diese Aufgabe ausgeführt wird):

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

Sie können diese Aufgabe in lib/tasks/sass.rake platzieren.

Else habe ich diese Aufgabe in meinem Capistrano deploy.rb läuft automatisch Sheets auf die Produktion während der Bereitstellung zu aktualisieren:

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

Neben der Antwort von Voldy ich das Problem gelöst, indem ein initializer genannt sass_config die Schaffung und Putting this in it:

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

Dies scheint nicht mehr zu funktionieren. –