图片未通过 image_tag in Rails 4 投入生产

Images not served in production via image_tag in Rails 4

我将我的应用程序部署到生产环境并注意到图像不是从 image_tag 提供的,但如果我使用 asset_path 则可以提供。我的图片在 app/assets/images 下。在生产中,我预编译了它们,因此它们位于 public/assets 中,并具有诸如 'image_name-fk3r23039423-0e9232.png'.

之类的名称

当我查看生成的 html 代码时,我发现我的 image_tag 的源代码是

/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

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

<%= image_tag 'logo.png'%> # added .png 

我不知道为什么它在开发中没有扩展就不能工作。所以我想这个徽标图像现在是从应用程序资产提供的,而不是从 public.

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