具有两个扩展名的rails控制器respond_to格式(例如tar.gz)

发布于 2024-09-19 22:09:22 字数 397 浏览 4 评论 0原文

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

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

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

有谁知道如何实现这一点和/或有更好的方法的想法吗?

Is there a mechanism or accepted approach for responding to requests that have a more complicated format extension?

My specific scenario involves returning a plist file. However, I need to sometimes return this file as an XML plist file and sometimes as a binary plist file.

I thought that URLs composed like /resources.xml.plist and /resources.binary.plist would be a nice way to distinguish between them. I'd then need to add a MIME type for binary.plist and one for xml.plist and then somehow respond_to these formats.

Does any one know how this might be accomplished and/or have ideas for a nicer approach?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

醉梦枕江山 2024-09-26 22:09:22

查看教程“使用自定义 mime 类型” 。


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

Take a look at tutorial "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
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文