我对 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/