我正在使用 Rails 5.2.0 并已部署到 Heroku。我使用以下调用加载图像:
...link_to image_tag("/assets/avatar.png", class: "img-responsive")...
在我的本地计算机上,它们加载正确。
目录结构为:
my_project
app
| assets
| | images
| | | avatar.png
但是,在 Heroku 上,图像无法加载。我检查了其他帖子,但不确定是否需要修改我的 Gemfile/production.rb 等。我还尝试将 Heroku 上的路径更改为
...link_to image_tag("app/assets/avatar.png", class: "img-responsive")...
将 /app
添加到路径中,但这也不起作用。
我的问题是我是否需要更改路径以便 Heroku 可以找到图像。如果是这样,路径需要是什么?当 Rails 应用程序运行时,Heroku 从哪里“开始”路径?
或者是否还需要做其他事情才能让 Heroku 找到并加载这些图像?
最佳答案
就像下面这样
<%= link_to image_tag("avatar.png", class: "img-responsive"), url_path %>
看看image_tag
了解 image_tag 的工作原理。
将 product.rb
文件 config.assets.compile
false
更新为 true
# config/environments/production.rb
...
config.assets.compile = true
...
关于ruby-on-rails - Rails - Heroku 图像找不到正确的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50716681/