0

Rails v 3.0.11、Ruby v 1.9.3 の使用

「Reports」リンクを含むページがあり、クリックするとReportsController#indexが呼び出されます

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

これで、再利用する必要がある JSON 応答を返す既存の JSON API (以下に示すReportsDataController ) ができました。

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

2 つのリクエストを作成したくない場合は、いつでも別のコントローラー アクションを作成して、次のように 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 に答える