Ich habe kürzlich versucht, meine Rails 3.2.13-App auf die neu veröffentlichte 4.0.0 zu aktualisieren und habe versucht, sie auf Heroku zu portieren. Trotz der folgenden Anleitung scheinen die Assets immer noch nicht korrekt vorkompiliert zu werden. Natürlich habe ich das rails_12factor
Juwel bereits hinzugefügt und ich habe auch ein paar Dinge getan, um die App auf 4.0.0 zu aktualisieren. Es funktioniert sehr gut im Entwicklungsmodus und alle meine Tests sind noch nicht bestanden. Es zeigt jedoch immer noch nicht die Assets in Heroku.
Eine Sache, die ich bei der Ausführung von heroku run ls public/assets
bemerkt habe, ist, dass Heroku tatsächlich die Assets von app/assets
vorkompilieren konnte und ein cat
-Befehl für diese Dateien die kompilierte Version der Assets anzeigt. Wenn ich jedoch auf die Datei im Browser zugreife, bekomme ich immer einen 404.
Ist Heroku tatsächlich für Rails 4 bereit?
BEARBEITEN :
Hier ist eine Liste von Dingen, die ich von 3.2.13 auf 4 aktualisiert habe:
Asset-Gruppe wurde entfernt, da sie in Rails 4 nicht mehr verwendet wird
Aktualisieren Sie die Version der Schienen von 3.2.13
auf 4.0.0
Entfernen Sie die Zeile " active_resource/railties
" aus "application.rb", da "active_resource" als Abhängigkeit von "rails" entfernt wurde
Aktualisieren Sie sass-rails und coffee-rails, um die entsprechenden Hauptverzweigungen zu verwenden, da sie statt der 4.0.0 die railties 4.0.0.rc2 als Abhängigkeit verwendet
Aktualisieren Sie die Version von devise auf 3.0.0.rc
Fügen Sie protected_attributes hinzu, um den Übergang zu Rails 4 zu vereinfachen, ohne noch zu strong_parameters wechseln zu müssen.
Ändern Sie die Umgebungskonfigurationen, um config.eagerload hinzuzufügen, und entfernen Sie config.whiny_nils, um veraltete Warnungen zu entfernen.
Ändern Sie die Syntax von confirm (), um veraltete Warnungen zu entfernen
Ändern Sie die Hash-Syntax von Hashraketen in die 1.9.3-Syntax
Entfernen Sie auto explain config, um veraltete Warnungen zu entfernen
Fügen Sie das Bin-Verzeichnis mithilfe von Rake-Rails hinzu: update: bin
Fügen Sie rails_12factor
gem hinzu, um Heroku zu hosten
Ruby-Version in Gemfile für heroku hinzufügen
BEARBEITEN 2
Ich denke, es ist auch erwähnenswert, dass es während der Vorkompilierung keine Fehler in Heroku gab und dass es tatsächlich gelungen ist, die Assets vorkompilieren, weshalb es seltsam ist, dass es nicht funktioniert hat.
Versuche, alle Edelsteine von assets
group in Gemfile in den Hauptbereich zu verschieben. Die Bestandsgruppe wird in Rails 4 nicht mehr verwendet und kann das Problem verursachen.
Verwenden einer Version für weniger gearbeitet für mich
%Vor%Ich stoße auf das gleiche Problem. Ich bin jetzt vorkompilieren sie lokal
%Vor%und füge sie dem Repository hinzu und schiebe sie zu heroku.
Tags und Links ruby-on-rails heroku asset-pipeline ruby-on-rails-4