gpt4 book ai didi

ruby-on-rails - Rails 应用程序中的静态图像 Assets 未在 Heroku 产品中显示

转载 作者:数据小太阳 更新时间:2023-10-29 07:43:06 25 4
gpt4 key购买 nike

我尝试在部署之前使用以下命令预编译我的图像:

$ RAILS_ENV=production bin/rake assets:precompile

我在用于开发的模板中使用 image_tag

更新:据说 config.serve_static_files 在开发中默认为 true,但在生产中被关闭,因为 Assets 应该通过您的网络服务器提供。我目前只是在 heroku 上使用免费层并且仍在运行 webrick,所以我将此设置为 true,但运气不好。

更新 2:当我将 config.serve_static_files 设置为 false 时,heroku 看不到我的任何 Assets ,我的所有样式都消失了,图像仍然找不到。尽管 heroku 在推送到 master 时确实发送了一条警告消息,说所有“config.serve_static_files 所做的是启用公用文件夹中的所有内容并且与 Assets 管道无关。”。我想它与 Assets 管道无关,因为它只是提供公用文件夹中的 Assets ,而不查看我们的 Assets 目录。我还看到 heroku 在部署时运行预编译命令,所以我不需要每次都这样做。

这让我想知道我使用 image_tag 调用 Assets 的方式是否可能是问题所在,但我不确定为什么会这样?

更新 3: Assets 管道的 Rails 指南说“在常规 View 中,您可以像这样访问 public/assets/images 目录中的图像:<%= image_tag "rails.png" %>。我正在使用此约定调用我的图像,例如 <%= image_tag("lab49", size: "80x30") %>,但是图片仍然不会出现。

更新 4:查看我的回答。

最佳答案

如果您来到这篇文章并且您使用的是 Heroku,只有当您使用图像文件扩展名时,Heroku 才会接受您的图像。

这会起作用:

<%= image_tag "lab49.png", size: "80x30" %>

这将不起作用(尽管它会在本地起作用):

<%= image_tag "lab49", size: "80x30" %>

关于ruby-on-rails - Rails 应用程序中的静态图像 Assets 未在 Heroku 产品中显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35320418/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com