/ / Nie można znaleźć błędu pliku w witrynie Middleman na Heroku - ruby-on-rails, heroku, middleman

Nie można znaleźć błędu pliku w witrynie Middleman na Heroku - ruby-on-rails, heroku, middleman

Ustanawiam stronę pośrednika zgodnie z tym przewodnikiem (http://www.randomerrata.com/articles/2013/middleman-on-heroku/) do wdrożenia w Heroku. Po załadowaniu witryny w przeglądarce pojawia się błąd:

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

Wszystko wydaje się być poprawnie skonfigurowane, dostarczyłem zrzut ekranu z moją strukturą katalogu źródłowego i config.ru. Jaki mógł być problem?

heroku-papertrail

middleman-config-ru

Odpowiedzi:

1 dla odpowiedzi № 1

Wygląda na to, że kompilacja nigdy nie jest budowana, co powoduje brak ładowania pliku index.html, a następnie brak ładowania 404.

Patrzeć na bundle exec middleman build wydaje się być zapakowany w znaki mówiące "" zamiast poważnego akcentu `` - nie jestem pewny różnicy technicznej, ale wygląda na to, że zmieniłem wiersz # 8, aby zawierał `kompilacje poprawnie.


0 dla odpowiedzi nr 2

Spróbuj podać absolutną ścieżkę:

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

0 dla odpowiedzi № 3

Hmm ... Jestem autorem tego wpisu na blogu i wygląda na to, że dzieje się tu coś dziwnego. Z jakiegoś powodu Rack próbuje otworzyć 404.html pomimo tego, że linia 27 wyraźnie próbuje otworzyć build/404/index.html.

Nie znoszę o to pytać, ale wszystko jest zapisane i oddane Heroku, prawda?

Możesz również spróbować otworzyć konsolę Bash na Heroku, więc zobacz, co tam się dzieje (po prostu wykonaj heroku run bash w wierszu terminalu).


Edycja: oh, Alexander R Lunnon poniżej zauważyłem, że middleman build linia jest zawijana w pojedyncze cudzysłowy ("), a nie w odwrotną stronę (`), tak jak być powinna. "To może być główny problem.