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"
Возможно, вы захотите сохранить мэширование перевернутого хеша, если вы собираетесь часто выполнять поиск, поскольку это не недорогая операция.