在Heroku上的Middleman站点中找不到文件错误

时间:2015-03-07 05:46:44

标签: ruby-on-rails heroku middleman

我按照本指南(http://www.randomerrata.com/articles/2013/middleman-on-heroku/)设置了一个Middleman网站,用于部署到Heroku。当我在浏览器中加载网站时,虽然出现错误:

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

似乎所有内容都设置正确,我提供了我的源目录结构和config.ru的屏幕截图。问题是什么?

heroku-papertrail

middleman-config-ru

3 个答案:

答案 0 :(得分:1)

看起来构建从未构建,导致没有index.html文件加载,随后404无法加载。

查看bundle exec middleman build它似乎包含在说话标记''而不是严重的重音``中 - 不确定技术差异,但似乎更改第8行包含`建立正确。

答案 1 :(得分:0)

尝试指定绝对路径:

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

答案 2 :(得分:0)

嗯......我是那篇博文的作者,看起来这里发生了一些奇怪的事情。出于某种原因,Rack试图打开404.html,尽管第27行明显试图打开build/404/index.html

我讨厌问这个问题,但是一切都已保存并致力于Heroku,对吗?

您也可以尝试在Heroku上打开一个bash控制台,看看那里发生了什么(只需在终端提示符中执行heroku run bash)。


编辑:哦, Alexander R Lunnon 下面注意到middleman build行包含在单引号(')中,而不是反引号(`)。这可能是主要问题。