加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – rails应用程序中的静态图像资源不在Heroku生产

发布时间:2020-12-17 01:43:16 所属栏目:百科 来源:网络整理
导读:我尝试在部署之前使用以下命令预编译我的图像: $RAILS_ENV =生产箱/佣金资产:预编译 我在我的模板中使用image_tag进行开发. 更新:config.serve_static_files在dev中默认为true,但之后在生产中关闭,因为资产应该通过您的Web服务器提供.我目前只是在heroku
我尝试在部署之前使用以下命令预编译我的图像:

$RAILS_ENV =生产箱/佣金资产:预编译

我在我的模板中使用image_tag进行开发.

更新:config.serve_static_files在dev中默认为true,但之后在生产中关闭,因为资产应该通过您的Web服务器提供.我目前只是在heroku上使用免费套牌而且仍在运行webrick,所以我将此设置为true,但没有运气.

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

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

更新3:资产管道的rails指南说:“在常规视图中,您可以访问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" %>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读