首页 > 解决方案 > 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 找到并加载这些图像?

标签: ruby-on-railsimageherokupath

解决方案


下面会是这样的

<%= link_to image_tag("avatar.png", class: "img-responsive"), url_path %>

查看image_tagimage_tag 的工作原理。

production.rb将文件更新config.assets.compile falsetrue

# config/environments/production.rb
...
config.assets.compile = true
...

推荐阅读