/ / Dateifehler in Middleman-Site auf Heroku nicht gefunden - Ruby-on-Rails, Heroku, Mittelsmann

Dateifehler in der Middleman-Site auf Heroku kann nicht gefunden werden - Ruby-on-Rails, Heroku, Mittelsmann

Ich habe eine Middleman-Site gemäß diesem Leitfaden eingerichtet (http://www.randomerrata.com/articles/2013/middleman-on-heroku/) für die Bereitstellung auf Heroku. Wenn ich die Website in einem Browser lade, obwohl ein Fehler angezeigt wird:

Rack app error: #<Errno::ENOENT: No such file or directory - 404.html>

Alles scheint korrekt eingerichtet zu sein, ich habe einen Screenshot meiner Quellverzeichnisstruktur und config.ru zur Verfügung gestellt. Was könnte das Problem sein?

Heroku-Papertrail

Zwischenhändler-Konfig-ru

Antworten:

1 für die Antwort № 1

Es sieht so aus, als ob der Build niemals erstellt wird, was dazu führt, dass die Datei index.html nicht geladen wird und die 404 nicht geladen werden kann.

Anschauen bundle exec middleman build es scheint in Sprechmarken eingewickelt zu sein "" eher als der ernste Akzent `` - Ich bin mir nicht sicher über den technischen Unterschied, aber es sieht so aus, als würde man Zeile 8 ändern, um `Builds korrekt zu integrieren.


0 für die Antwort № 2

Versuchen Sie, den absoluten Pfad anzugeben:

page_404_file = File.expand_path("../build/404/index.html", __FILE__)
File.open(page_404_file, File::RDONLY)

0 für die Antwort № 3

Hmm ... Ich bin der Autor dieses Blogposts und es sieht so aus, als ob etwas Seltsames hier passiert. Aus irgendeinem Grund versucht Rack zu öffnen 404.html trotz der Tatsache, dass die Linie 27 offen versucht zu öffnen build/404/index.html.

Ich hasse es, das zu fragen, aber alles ist gerettet und an Heroku gebunden, richtig?

Sie können auch versuchen, eine Bash-Konsole auf Heroku zu öffnen, um zu sehen, was dort vor sich geht (einfach ausführen heroku run bash in Ihrer Terminal-Eingabeaufforderung).


Bearbeiten: oh, Alexander R Lunnon unten bemerkt, dass die middleman build Die Zeile ist in Anführungszeichen (") und nicht wie in Backticks (`) eingeklammert. Das könnte das Hauptproblem sein.