我有几个静态页面,当在本地运行时可以作为localhost:3000 / foo.html工作,但是一旦上传到heroku,它就不起作用。
我尝试将以下内容添加到routes.rb文件中:
match '/foo', :to => redirect('/public/foo.html')
但这似乎不起作用,它将我重定向到foobar.com/public/foo.html,但仍然没有找到任何内容。
答案 0 :(得分:40)
每this article,您需要告诉Rails使用以下内容提供静态资产:
config.serve_static_assets = true
在config/environments/production.rb
答案 1 :(得分:0)
这困扰了我几个小时,但这是另一个潜在的解决方案。出于某种原因,我可以在/public/docs
中生成文档,但是文档不会加载,即使在生成它之后也是如此。我会运行一个Heroku bash控制台,生成文档,退出,然后重新运行Heroku bash,发现/public
不再包含我的docs
文件夹。
因此,我找到的唯一解决方案是将文档包含在Git存储库中。这是Heroku在部署和bash实例中持久化/public/docs
的唯一方法。
我不知道为什么会这样......我用Heroku开了一张支持票,正在等待回复。