生产环境中图片无法显示

3

我在视图中有以下代码:

<p>
<%= image_tag( "folder/"+"image_name.jpeg" ) %>
</p>

在开发模式下,当我访问服务器时,图像会显示,并且其路径为:

http://localhost:3000/assets/folder/image_name-f562b410b0627f8099a44de48f5ee8fff6b1babf98dacfcf307a39a8b7fefbca.jpg

在生产模式下,当我访问该页面时,图片不会显示,其路径为:

domain/images/folder/image_name.jpeg

生产环境中的图片位于以下路径:

domain/assets/folder/image_name-f562b410b0627f8099a44de48f5ee8fff6b1babf98dacfcf307a39a8b7fefbca.jpg

为什么在生产模式下链接不像在开发模式下那样自动更新。

我已经尝试过:

rake assets:precompile RAILS_ENV=production

你能改正一下你的问题吗?"folder/"+image_name.jpeg是无效的,因为image_name.jpeg不是一个变量。 - coorasse
当你说“生产模式”时,你是在生产服务器上运行吗?还是在本地测试时使用RAILS_ENV=production rails server - Brian
指纹行为由config.assets.digest初始化选项控制(默认为true)。 从http://edgeguides.rubyonrails.org/asset_pipeline.html#in-production。您可以从控制台检查配置中的assets.digest值吗? - Puhlze
config.assets.digest 不在 production.rb 或 development.rb 的配置文件中。 - Happy Nose
我在两个配置文件中添加了config.assets.digest = true,但它没有更新图像路径... - Happy Nose
我正在本地测试并部署到云服务器。 - Happy Nose
2个回答

5

(无法工作) 按以下顺序尝试:

rails assets:clobber
rails assets:precompile

尝试:

检查 config/environments/production.rb 文件中是否将 config.assets.compile 设置为 true。


请检查config/environments/production.rb文件中是否将config.assets.compile设置为true: - ihtishaam ahmed
1
config/environments/production.rb 中的 config.assets.compile = false,应该改为 true 吗? - Happy Nose
2
应该是真的。 - ihtishaam ahmed
谢谢你,Ihtishaam!就是这样! - Happy Nose

1
我通过更改以下内容成功解决了这个问题: 在/config/environments/production.rb中将config.assets.compile = false更改为config.assets.compile = true。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接