我有一个Rails应用程序有2个“客户端” - 一个iOS应用程序读/写JSON,以及读取HTML的Web浏览器。什么是Rails处理不同控制器客户端(Web,iOS API)的方式?
现在,如果我说“我想为不同的浏览器/客户端输出不同的输出”,我们可以使用不同的ERB文件并基于User-Agent
或类似的渲染。
通过这种方式,Rails在网络世界中被想象出来 - 我在那里键入“cap deploy”,并将我所有的“实例”升级到最新版本(保存活动会话AJAX调用)。
但是,作为iOS开发者,我非常习惯于在代码中使用if
块来处理不同数据版本&客户端应用程序版本。这是痛苦的(但需要)。
我希望能够说“我会奇迹般地想到1.0版中的完美数据结构”,但我们可能都知道这不是真的 - 我想添加&弃用属性,甚至模型作为时间流逝。
我不想跟一般的HTML(这能优雅地升级,按照上述)混合所有版本的逻辑,所以我想过:
- 有一个单独的控制器或正义行动从iOS的
- 我的API调用写的是对待HTML/Web版作为一个层上的API版本
顶部的“转发”我是试图解决一个解决的问题?在进行这个项目时,我是否应该了解任何资源或指导理念?