MIME::Types
承認txt
爲text/plain
如何添加到擴展現有類型在Ruby的MIME類型::
require 'mime/types'
MIME::Types.type_for("txt").first.to_s # => "text/plain"
我想要它做同樣的事情tab
,默認情況下
MIME::Types.type_for("tab").first.to_s # => ""
所以考慮到:
MIME::Types['text/plain'].first.extensions
爲["txt", "asc", "c", "cc", "h", "hh", "cpp", "hpp", "dat", "hlp"]
,爲什麼沒有了以下工作:
MIME::Types['text/plain'].first.extensions.push("tab")
MIME::Types.type_for("tab").first.to_s # => still just ""
非常感謝!那就是訣竅。 – sanichi
這是完美的,但不知道爲什麼要將其轉換爲哈希... 也適用於以下形式: text_plain = MIME :: Types ['text/plain']首先 text_plain.extensions <<'tab' MIME :: Types.add(text_plain) – iwiznia
@iwiznia,在我寫這個問題時,這是不可能的(請參閱https://github.com/halostatue/mime-types/blob/master/History.rdoc中的歷史記錄 - - 你可以看到這個無散列方法直到2013-10-27才被引入,在我寫這篇文章後將近2年)。但哈希方法在舊版本和新版本中都有效,所以我將答案保留爲最高兼容性。謝謝你的提示。 –