Rails: как получить расширение файла/постфикс на основе типа mime

Вопрос: у Ruby on Rails есть функция, похожая на:

file_content_type = MIME::Types.type_for(file).first.content_type

который вернет расширение файла или постфикс для определенного типа mime? Поэтому, если я перейду в 'image/jpeg', функция вернет 'jpg'

Ищете более чистый способ кодирования, чем писать оператор case, который выполняет ту же работу.

Ответ 1

Rack::Mime имеет эту способность (и Rack - зависимость от Rails):

require 'rack/mime'
Rack::Mime::MIME_TYPES.invert['image/jpeg']  #=> ".jpg"

Возможно, вы захотите сохранить мэширование перевернутого хеша, если вы собираетесь часто выполнять поиск, поскольку это не недорогая операция.