通过Rails 4中的image_tag在生产中未提供的图像

时间:2016-04-25 06:48:46

标签: ruby-on-rails ruby-on-rails-4 digital-ocean

我将我的应用程序部署到了生产环境,并注意到图像不是从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

2 个答案:

答案 0 :(得分:10)

我通过在文件中添加扩展名来解决这个问题。我这样做了:



<%= image_tag 'logo.png'%> # added .png 
&#13;
&#13;
&#13;

我不知道为什么它在没有扩展的情况下没有像开发那样工作。所以我认为这个徽标图像现在是从应用程序资产提供的,而不是从公共资源提供的。

答案 1 :(得分:0)

我遇到了类似的问题,不同之处在于我不得不将文件扩展名从jpeg更改为jpg,以防任何人受到帮助。