ruby-on-rails - Rails 中的 mime 类型是怎么回事?

标签 ruby-on-rails mime-types

我对 Rails 中处理 mime 类型的不同模块的数量感到困惑。我想到了三个,如果有人能为我解决这个问题,我将不胜感激。

1) Mime::Type (用于 respond_to)

Mime::Type.register "text/richtext", :rtf

2) MIME::Types (来自 mime-types gem)
MIME::Types[/ogg/, :complete => true]

3) Rack::Mime::MIME_TYPES(用于服务内容)
Rack::Mime::MIME_TYPES.merge!({".ogg" => "audio/ogg"})

这三个是完全独立的还是它们之间有任何联系?维护 3 个不同的 mime 类型列表似乎很奇怪,但我猜它们的目的确实看起来不相交。

更具体地说,我应该如何知道要注册新类型中的哪一个?

谢谢!

最佳答案

一些华而不实的答案...

Rails (1) 和 Rack (3) 是分开的,所以我想这解释了那里的 split - 并且希望在某个时候 Rails 将使用 Rack,因为它基于 Rack...

至于(2),这似乎是一个用于识别文件类型的非 Rails/Rack 库 - http://mime-types.rubyforge.org/ - 所以也许理想的 future 是 Rails 和 Rack 基于此......虽然它现在看起来很旧(2009)并且可能没有维护,因此缺乏使用......

关于ruby-on-rails - Rails 中的 mime 类型是怎么回事?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5684455/

相关文章:

javascript - 如何使用 jQuery 而不是 RJS 来处理复杂的表单

ruby-on-rails - HTTParty 未定义方法 '+' 为 nil :NilClass

没有扩展名的文件的 Tomcat MIME 类型

ruby - 在 Ruby/Rails 中清理文件名

java - 单击时自动启动 JNLP

iphone - Rails 3 Webrick 和加载 iPhone/iPad 视频 ( mp4 m4v ) 视频文件的问题

ruby-on-rails - "502 Bad Gateway"有乘客

ruby-on-rails - 指定gem安装目录

ruby-on-rails - 奇怪的 authlogic 问题只在生产中

java - 如何获取正在上传的文件的 InputStream 的 MIME 类型?