0

使用Rails v 3.0.11、Ruby v 1.9.3

我有一个页面上有链接“报告”,点击它会调用ReportsController#index

class ReportsController < ApplicationController
  def index
    # Renders index.html.haml
  end
end

现在我有一个已经存在的 JSON API (如下所示的ReportsDataController)返回我需要重用的 JSON 响应。

返回 JSON 响应的控制器(我的 JSON API)

class ReportsDataController < ApplicationController

  respond_to :json

  def users_events_activity
    user_activity_data_obj = find_user_events_activity_per_day
    respond_with user_activity_data_obj
  end

  def users_comments_activity
    user_comments_data_obj = find_user_comments_activity_per_day
    respond_with user_comments_data_obj
  end

end

在我的app/views/reports/index.html.haml上,我需要同时呈现由操作ReportsDataController#users_events_activityReportsDataController# users_comments_activity 返回的数据。

是否有可以实现上述要求的 Rails 标准方式?如果没有,有人可以建议我一些方法来实现同样的目标吗?

谢谢,

吉涅什

4

1 回答 1

0

如果您不想发出两个请求,您始终可以创建另一个控制器操作并像这样呈现 JSON:

class ReportsDataController < ApplicationController

  respond_to :json

  def users_combined_events_comments_activity
    user_activity_data_obj = find_user_events_activity_per_day
    user_comments_data_obj = find_user_comments_activity_per_day
    respond_with { activities: user_activity_data_obj, comments: user_comments_data_obj }
  end
end
于 2012-05-31T07:08:35.300 回答