Rails 4-Assets werden in Heroku immer noch nicht vorkompiliert, obwohl das Attribut "rails_12factor" installiert wurde

8

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.

    
Terence Ponce 04.07.2013, 23:55
quelle

4 Antworten

1

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.

    
Mike Szyndel 05.07.2013 00:11
quelle
0

Verwenden einer Version für weniger gearbeitet für mich

%Vor%     
SiddharthBhagwan 11.09.2013 09:36
quelle
0

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.

    
Stan Wiechers 29.03.2014 00:27
quelle
-2

Stellen Sie in Ihrer production.rb-Datei sicher, dass Sie die Zeile config.assets.compile = true haben. Das hat das Problem für mich gelöst.

    
Matt 18.08.2013 20:47
quelle