ruby-on-rails - Rails - Heroku 图像找不到正确的路径
问题描述
我正在使用 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 的工作原理。
production.rb
将文件更新config.assets.compile
false
为true
# config/environments/production.rb
...
config.assets.compile = true
...
推荐阅读
- php - 获取数据作为响应,但是在通过 ajax 渲染视图后没有得到很少的数据
- php - Symfony - 传递一个 id 数组
- python - 如何检查在scrapy中启动的每个蜘蛛的IP?
- spring-boot - 无法反序列化实例
- php - 未找到 CSS 和 JS 文件 Magento
- design-patterns - 在 get 中使用 set 是一种不好的做法吗?
- powershell - 为什么此脚本仅在直接从 powershell 运行而不是从另一个脚本运行时才有效
- javascript - 使用 D3.js v5 在两条曲线之间着色
- android-constraintlayout - Barrier 未在约束布局中设置为 referenceIds?
- python - 稳定 iBeacons 上的 rssi