如何从另一个控制器中获取控制器的响应?

axs*_*uul 7 api ruby-on-rails backbone.js ruby-on-rails-3

Rails 3.2.5.我有一系列控制器组成了我的Backbone.js应用程序消耗的JSON API.我现在正在寻找创建一系列控制器,为爬虫/蜘蛛/ googlebot提供静态内容.我想从JSON API获取相同的数据,因为它们是针对我已经在Backbone.js应用程序中使用的把手模板而定制的,但这次将它们渲染到服务器端.

有没有办法可以从我的API控制器获取JSON响应并从另一个控制器访问它们?.我知道我可以使用,curl但由于JSON API已经是我本地的并且在同一个Rails应用程序中,是否有更高效和优雅的方式?

Mau*_*res 3

不,没有。如果您需要这样的东西,请将共享代码分解到另一个类中(您可能正在尝试构建服务),然后在两个控制器中使用它,这样您就可以轻松共享代码,然后从它们的输出生成 JSON 。

鉴于您使用 RABL 进行 JSON 生成,您应该将想要重用的片段转换为部分片段,然后将它们包含在每个特定视图中,就像任何其他 Rails 视图一样。