Heroku ist nicht vor dem Vorbereiten meiner Assets, um meine App für Asset Pipeline vorzubereiten
-
26-10-2019 - |
Frage
Ich habe ein bisschen Probleme, mein Asset -Pipeline -Setup mit Heroku/Cedar mit Rails 3.1.1 zusammenzuarbeiten.
Ich habe meine Bewerbung vorangetrieben und es wird erfolgreich gestartet, aber es gab keine Nachricht mit der Aufschrift "Vorbereitung der Asset -Pipeline" und es werden keine statischen Vermögenswerte bereitgestellt. Es können keine JS, CSS oder Bilder gefunden werden, da keine Slug -Kompilierungszeit oder Laufzeit -Vermögenszusammenstellung durchgeführt wird.
Jede Hilfe wäre sehr geschätzt.
Sie beschreiben, was während des Einsatzes passieren sollte Verknüpfung Was ich unten zusammenfassen werde:
Mit einer Rails 3.1-Anwendung auf Heroku Cedar, wenn Sie Heroku pushen, werden Ihre Vermögenswerte als Teil des Bereitstellungsvorgangs mit dem Rake Task-Bündel-Exec-Rake-Rake-Assets vorkompiliert: Precompile.
Lösung
Ok, die Lösung war Folgendes:
Ich verwende Mongoid, bei dem Sie die Linie "Rails/All" als Teil der Konfiguration entfernen. Infolgedessen wurde Kettenräder nicht geladen.
Was Sie mit Rails 3.1+ machen müssen, ist ebenfalls hinzugefügt require "sprockets/railtie"
in application.rb, damit Kettenräder aktiviert sind. Boom, funktioniert.
Diese Informationen finden Sie auf der Mongoid -Website hier. Dies ist nützlich, um für alle zu wissen, die möglicherweise nicht die vollständigen "Schienen/alle" in application.rb laden. RACKETS ist offensichtlich erforderlich, damit die Asset -Pipeline funktioniert.
Andere Tipps
Haben Sie diesen Artikel über Rails 3.1 Asset Pipeline auf Heroku gesehen - http://devcenter.heroku.com/articles/rails31_heroku_cedar. Ich habe es gestern überprüft und ein paar Tipps davon abgeholt, und ich habe seit einiger Zeit Rails 3.1 -Websites auf Heroku durchgeführt.
War dies ein neuer Standort von Rails 3.1 oder ein Standort, das auf Rails 3.1 aktualisiert wurde, war die zu überprüfen
config.assets.enabled = false
in application.rb. Verwenden Sie App/Assets für Ihr Vermögen und nicht für öffentlich/