Heroku上的Rails-网站未加载-ActionView :: Template :: Error(资产管道中不存在资产“ image.jpg”。)

时间:2018-09-10 19:24:47

标签: ruby-on-rails ruby heroku assets pipeline

我已经使用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/

任何帮助都将不胜感激,因为谷歌搜索了数小时却没有运气。

1 个答案:

答案 0 :(得分:0)

解决此问题的最简单方法是;您需要运行如下;

  1. rails assets:precompile RAILS_ENV=production
  2. git add .
  3. git commit -m {message}
  4. git push heroku master(再次将代码推送到heroku)

我试图通过您的代码来做到这一点,并且工作正常。