我将我的应用程序部署到了生产环境,并注意到图像不是从image_tag提供的,而是在我使用asset_path时提供的。我在app / assets / images下有我的图像。在制作时我会对它们进行预编译,使它们处于公共/资产状态,并且名称为' image_name-fk3r23039423-0e9232.png'。
当我查看生成的html代码时,我看到我的image_tag的src是
/images/logo
而asset_path生成:
/assets/login-bg1-01eead5b47afcb7e0a951a3668ec3921e8df3f4507f70599f1b84d5efc971855.jpg
所以这是正确的。所以我很感兴趣为什么我无法使用image_tag' image-name'?
这是我的production.rb
config.serve_static_files = true
config.assets.compile = false
config.assets.digest = true
答案 0 :(得分:10)
我通过在文件中添加扩展名来解决这个问题。我这样做了:
<%= image_tag 'logo.png'%> # added .png
&#13;
我不知道为什么它在没有扩展的情况下没有像开发那样工作。所以我认为这个徽标图像现在是从应用程序资产提供的,而不是从公共资源提供的。
答案 1 :(得分:0)
我遇到了类似的问题,不同之处在于我不得不将文件扩展名从jpeg
更改为jpg
,以防任何人受到帮助。