代码之家  ›  专栏  ›  技术社区  ›  Bo Jeanes

Rails控制器通过两个扩展名响应格式(例如tar.gz)

  •  4
  • Bo Jeanes  · 技术社区  · 14 年前

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

    我的具体场景包括返回 plist 文件。但是,有时我需要将此文件作为 XML plist 文件,有时作为二进制文件 普利斯特 文件。

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

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

    1 回复  |  直到 14 年前
        1
  •  9
  •   antage    14 年前

    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