Rails.3.1.1: config.assets.digest = true bewirkt, dass kompilierte css als Dateiname eines Sprites verwendet werden

  • Ich habe eine neue ish-Schienen 3.1.1-App, die Sass / Kompass mit Kompass verwendet und sich um die Sprite-Generationen kümmert. In der Entwicklung funktioniert alles gut. Bei der Bereitstellung sehe ich jedoch diesen Eintrag in der Protokolldatei:

     Compiled team/application.css  (1ms)  (pid 24202)
    Compiled team/forms.css  (0ms)  (pid 24202)
    Compiled team/member.css  (0ms)  (pid 24202)
    Compiled application.css  (0ms)  (pid 24202)
    Completed 500 Internal Server Error in 2014ms
    
    ActionView::Template::Error (File name too long - /home/cri/webapps-releases/cri/releases/20111121225403/app/assets/images/html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote...(the rest of my compiled css goes here)
     

    Meine Produktionskonfiguration (für Asset Zeug) ist ziemlich Vanille, und vieles davon ist das, was von Schienen erzeugt wurde:

       # Disable Rails's static asset server (Apache or nginx will already do this)
      config.serve_static_assets = false
    
      # Compress JavaScripts and CSS
      config.assets.compress = true
    
      # Specify the default JavaScript compressor
      config.assets.js_compressor  = :uglifier
    
      # Don't fallback to assets pipeline if a precompiled asset is missed
      config.assets.compile = true
    
      # Generate digests for assets URLs
      config.assets.digest = true
    
      config.assets.debug = true
     

    Kann mir jemand sagen, warum Mein kompiliertes CSS wird als Dateiname für das Sprite verwendet.

    Update: Der Titel wurde geändert, um das wiederzugeben, was ich jetzt über dieses Problem weiß.

    Ich fahre Schienen 3.1.1 mit Sass-3.1.10 und Sass-Schienen-3.1.5 und Kompass-0.11.3.

    22 November 2011
    ynkr
3 answers
  • Kompass-0.11.3 hat keine korrekte Unterstützung für die Asset-Pipeline. Sie möchten die Version & gt; = 0.12 & agr; 3 verwenden. Sie können dies durch Ausführen von gem install compass --pre erhalten, wenn Sie noch über Folgendes verfügen diese Ausgabe unter 0.12 ist dann ein Fehler und ich wäre dankbar, wenn Sie ein Ticket auf dem Kompass github ablegen würden.

    01 January 2012
    Scott Davis
  • Diese Problemumgehungen sind wahr, aber dieser Fehler in Schienen wurde behoben 3.1.4. Ein Upgrade ist wahrscheinlich die beste Allround-Wette.

    25 April 2012
    wemcdonald
  • Versuchen Sie

     config.assets.debug = false
     
    16 February 2012
    Javier Vidal