rails controller respond_to格式有两个扩展名(例如tar.gz)

时间:2010-09-13 14:26:40

标签: ruby-on-rails mime-types respond-to

是否有机制或接受的方法来响应具有更复杂格式扩展名的请求?

我的具体方案涉及返回plist文件。但是,我有时需要将此文件作为XML plist文件返回,有时作为二进制plist文件返回。

我认为像/resources.xml.plist/resources.binary.plist组成的网址是区分它们的好方法。然后,我需要为binary.plist添加MIME类型,为xml.plist添加一个MIME类型,然后以某种方式响应这些格式。

有没有人知道如何实现这一目标和/或有更好的方法的想法?

1 个答案:

答案 0 :(得分:9)

看一下教程“Using custom mime types”。


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