我已经使用Rails构建了一个简单的网站,因此可以将其部署到Heroku。它在本地完美运行,一切正常。它可以很好地部署到Heroku,但是在打开网页(http://a-clean.herokuapp.com/)时显示以下错误:
对不起,出了点问题。
如果您是应用程序所有者,请查看日志以获取更多信息。
当我检查日志(在终端上运行heroku登录)时,显示错误:
ActionView::Template::Error (The asset "a_clean_sample_1.jpg" is not present in the asset pipeline.)
到目前为止,这只是一个一页的网站,有几个部分。这是github存储库:https://github.com/webbc99/a-clean
失败的图像已加载到app / views / welcome / home.html.erb第57行。
Rails版本5.1.6,Ruby版本2.5.0
我已经仔细检查了图像是否确实位于app / assets / images文件夹中,并且image_tags使用的是文件扩展名。
我尝试运行heroku run rake assets:precompile
,并且尝试使用rails12factor
gem,也没有使用它。我曾尝试在config / environments / production.rb中将config.assets.compile = false
更改为true
,这确实使页面得以加载,但是所有图像都忽略了样式,而且很大。
真正让我感到困惑的是,我还部署了其他几个Rails应用程序,相同的Rails版本,相同的ruby版本,而这些都以前没有遇到过这个问题。
这是一个可运行的应用程序: https://github.com/webbc99/presumptuous https://presumptuous.herokuapp.com/
任何帮助都将不胜感激,因为谷歌搜索了数小时却没有运气。
答案 0 :(得分:0)
解决此问题的最简单方法是;您需要运行如下;
rails assets:precompile RAILS_ENV=production
git add .
git commit -m {message}
git push heroku master
(再次将代码推送到heroku)我试图通过您的代码来做到这一点,并且工作正常。