Jbu*_*r43 3 ruby ruby-on-rails heroku asset-pipeline
我尝试在部署之前使用以下命令预编译我的图像:
$ RAILS_ENV=production bin/rake assets:precompile
我正在使用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" %>
Run Code Online (Sandbox Code Playgroud)
这不起作用(虽然它会在本地):
<%= image_tag "lab49", size: "80x30" %>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1100 次 |
| 最近记录: |