在生产环境中,我的图片的正确路径不是用图像标签调用的,也没有添加md5指纹。图片名称(例如“pretty_picture.jpg”)存储在数据库中。预编译文件都位于公共文件夹中,包括清单文件。
如果使用image_tag调用:
image_tag @test_question.question.image
I get:
<img src="/images/pretty_picture.jpg">
如果我在 production.rb 中设置 config.assets.compile = true,那么图像就会呈现出来,我会得到:
<img src="/assets/images/pics/pretty/pretty_picture-e0df5012b6930cda4efaa866af22a63f.jpg" >
我的解决方案是使用(在HAML中):
%img{src: "/assets/"+Rails.application.assets.find_asset(@test_question.question.image).digest_path}
在 production.rb 文件中,我有以下内容:
config.assets.digest = true
config.assets.enabled = true
config.serve_static_files = false
config.assets.compile = false
在生产环境中将config.assets.compile设置为true并不建议。这似乎是sprockets和资产管道的非常奇怪的行为。对于这里使用image_tag有什么问题,您有什么想法吗?