Контроллер rails отформатируйте с двумя расширениями (например, tar.gz) - PullRequest
4 голосов
/ 13 сентября 2010

Существует ли механизм или принятый подход для ответа на запросы, которые имеют более сложное расширение формата?

Мой конкретный сценарий предполагает возврат файла plist.Однако мне иногда нужно возвращать этот файл как XML plist файл, а иногда как двоичный plist файл.

Я думал, что URL, составленные как /resources.xml.plist и /resources.binary.plist, будут хорошим способомразличать их.Затем мне нужно было бы добавить MIME-тип для binary.plist и один для xml.plist, а затем как-то ответить на эти форматы.

Кто-нибудь знает, как это можно сделать, и / или есть идеи для лучшегоподходит?

1 Ответ

9 голосов
/ 13 сентября 2010

Взгляните на учебник " Использование пользовательских типов пантомимы ".


Mime::Type.register "application/xml", :plist_xml, [], ["xml.plist"]
Mime::Type.register "application/octet-stream", :plist_binary, [], ["binary.plist"]

...

respond_to do |format|
  format.plist_xml { ... }
  format.plist_binary { ... }
end
...