ruby-on-rails - Rails - Heroku 图像找不到正确的路径

标签 ruby-on-rails image heroku path

我正在使用 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/

相关文章:

c# - 如何在 C# 中将 Graphics 对象保存为图像?

ruby-on-rails - 如何从 SQLite 迁移到 PostgreSQL (Rails)

javascript - 未部署到 heroku 的 Node js 应用程序抛出错误 `octal literals are not allowed in strict mode`

ruby-on-rails - 弃用 Rails 中所有类方法的最佳方法

javascript - 如何按比例调整图像大小/保持纵横比?

sql - 如何在 has_many 关系中急切加载最近的对象?

java - 使用java中的其他正常数据值将图像从servlet检索到jsp

php - Heroku 找不到 PDOServiceProvider

ruby-on-rails - 从 Redis 服务器获取 ActiveRecord

ruby-on-rails - Rails_API gem 中的 session