Ruby on rails 3 Rails 3 web字体(woff)mime类型

Ruby on rails 3 Rails 3 web字体(woff)mime类型,ruby-on-rails-3,mime-types,webfonts,woff,Ruby On Rails 3,Mime Types,Webfonts,Woff,我们从静态资产中提供一些web字体(.woff),我想设置正确的mime类型(application/x-font-woff)。我尝试在config/initializers/mime_types.rb中执行此操作,但没有效果: Mime::Type.register "application/x-font-woff", :woff 返回的mime类型仍然保留在应用程序/octet流中。我甚至尝试添加这一行(因为它是rails源代码中唯一一个可以找到字符串“woff”)的地方: 但还是没用。如

我们从静态资产中提供一些web字体(.woff),我想设置正确的mime类型(
application/x-font-woff
)。我尝试在
config/initializers/mime_types.rb中执行此操作,但没有效果:

Mime::Type.register "application/x-font-woff", :woff
返回的mime类型仍然保留在
应用程序/octet流中。我甚至尝试添加这一行(因为它是rails源代码中唯一一个可以找到字符串
“woff”
)的地方:


但还是没用。如何正确设置web字体的mime类型?

虽然我也没有找到一些黑客解决方案,但几天前我研究了这个问题(在运行WEBRick的rails 3.2开发服务器上,供参考),链轮在响应上设置了错误的mime类型,可能是通过将选择权委托给Rack,它有一个愚蠢的概念,即字体的MIME类型(如)

我提交了一份(详细的)和一份报告,希望它能在最有意义的上游得到修复,但这两份报告都没有看到太多的行动。我可能也应该更多地关注ttf和eof,但时间太晚了,我当时没有想到


(对其中任何一个进行评论都可能会提高对问题的认识——一个问题不是问题,一堆人是一个值得解决的问题?:-)

直到Rack将其MIME类型列表修复为正确的
woff
,临时黑客实际上是您的
配置/初始化器/MIME_types.rb
行:

# tell Rack (and Sprockets) about modern font MIME types:
Rack::Mime::MIME_TYPES['.woff'] = 'application/x-font-woff'
但要使其真正生效,您必须擦除
tmp/cache
并重新启动服务器。

另请参阅最新版本的详细信息
# tell Rack (and Sprockets) about modern font MIME types:
Rack::Mime::MIME_TYPES['.woff'] = 'application/x-font-woff'