首页 > 解决方案 > Rails 5.2.2 Sprockets::ConversionError(无法将“application/vnd.ms-fontobject”转换为 nil)

问题描述

我刚刚将我的 rails 4 应用程序升级到了最新的 rails 5.2.2。一切都很顺利,直到我启动我的应用程序并引发了这个奇怪的错误

Sprockets::ConversionError in Home#index
could not convert "application/vnd.ms-fontobject" to nil

经过一番调查,我注意到它来自image_tag助手。我启动了控制台进行检查,发现确实发生了一些奇怪的事情。

banner.jpg我的图像资产文件夹中有一个图像。在我的 Rails 控制台中,我跑了

 helper.image_path("banner.jpg")

哪个抛出错误

Sprockets::ConversionError (could not convert "application/vnd.ms-fontobject" to nil)

谁能指出我正确的方向,我错过了一些东西。我目前对这个错误的研究没有产生任何结果。使用ruby 2.6.1rails 5.2.2。任何帮助将不胜感激。谢谢!

标签: ruby-on-railsrubysprocketsruby-on-rails-5.2

解决方案


好的,所以我终于解决了这个问题。我的应用程序的问题是我在旧的 rails 4 应用程序fonts的目录中有一个目录。app/assets显然当时我读过一些建议我将字体放在那里的文章。似乎在新的 rails 5 中,任何不是图像的东西,app/assets目录中的 js/css 文件都会导致此错误或类似错误。从目录中删除我的fonts文件夹app/assets清除了错误。


推荐阅读