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

时间:2012-06-04 00:23:37

标签: ruby-on-rails ruby-on-rails-3 api backbone.js

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

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

1 个答案:

答案 0 :(得分:2)

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

鉴于您正在使用RABL生成JSON,您应该转向the pieces you want to reuse into partials,然后将它们包含在每个特定视图中,就像任何其他rails视图一样。