Warum bekomme ich "cache: [GET /] miss" in der Produktion mit WebRick?

9

Ich kann meine Website im Produktionsmodus nicht mit WebRick testen, da dadurch Cache-Fehler auftreten. Im Entwicklungs- und Testmodus funktioniert alles perfekt.

Ich habe diese Option in config / environments / production.rb gesetzt:

%Vor%

Und dann lief ich:

%Vor%

Jetzt starte ich den Server:

%Vor%

Und wenn ich zu Ссылка gehe, bekomme ich "Es tut uns leid, aber etwas ist schiefgegangen." Im Terminal ist das was es ausgibt:

%Vor%

Ich bin hier ins Stocken geraten. Ich habe keine Ahnung, was ich tun soll.

    
David Morales 31.01.2012, 18:54
quelle

4 Antworten

5

Das Problem liegt in der Asset-Pipeline, die im Produktionsmodus gut konfiguriert werden muss, da Dateien nicht automatisch vorkompiliert werden.

In meinem Fall habe ich eine JavaScript-Datei (mit javascript_include_tag ) eingefügt, die nur auf einer Seite vorhanden war. Daher wurde sie nicht in das Manifest application.js aufgenommen.

In diesem Fall wird die Datei beim Ausführen von assets:precompile nicht vorkompiliert.

Um die fehlende Datei einzufügen, müssen wir config/environments/production.rb bearbeiten und diese Zeile hinzufügen:

%Vor%

Sie werden feststellen, dass diese Zeile bereits existiert, aber sie ist kommentiert. Lesen Sie den Kommentar für weitere Erläuterungen. Weitere Informationen finden Sie im offiziellen Asset-Pipeline-Leitfaden .

    
David Morales 01.02.2012, 17:19
quelle
0

Um eine Anwendung in der Produktion auszuführen, erhalten Sie keinen Cache: [GET /] miss Bitte überprüfen Sie Ihren {project} / public Ordner, ob der Ordner "Assets" vorhanden ist wenn nicht, dann kompilieren Sie Assets mit               bundle exec Rake-Assets: Vorkompilierung

sobald dies erledigt ist:

Setzen Sie config.assets.compile auf true in production.rb

Starten Sie anschließend Ihre WebApp in der Produktionsumgebung neu.

Diese Annäherung funktionierte für mich, die Hoffnung wird für Sie arbeiten.

Wenn Sie Rails 3.2.0 verwenden, erhalten Sie [GET /] miss, aber Ihre Anwendung wird richtig funktionieren.

    
Mayank Raipure 09.05.2013 14:57
quelle
0

Diese Nachricht über fehlende Seiten sendet Rack :: Cache Middleware. Wenn Sie in Ihrer Rails-App kein Seiten-Caching verwenden müssen, entfernen Sie einfach Rack :: Cache in der Datei config / application.rb:

%Vor%     
ilya 31.01.2012 19:57
quelle
0

Als provisorische Lösung machte das Folgende den Trick für mich.

Ich habe die Datei config/environments/production.rb geändert, um config.assets.compile line von false in true

zu ändern %Vor%     
Marc M 05.06.2012 15:35
quelle