Ruby on rails 3 Rails 3在另一个控制器中同时呈现控制器的多个动作的响应';s观点
使用Railsv3.0.11和Rubyv1.9.3 我有一个页面上有一个链接“Reports”,点击它可以调用ReportsController\indexRuby on rails 3 Rails 3在另一个控制器中同时呈现控制器的多个动作的响应';s观点,ruby-on-rails-3,json,controller,actionmethod,Ruby On Rails 3,Json,Controller,Actionmethod,使用Railsv3.0.11和Rubyv1.9.3 我有一个页面上有一个链接“Reports”,点击它可以调用ReportsController\index class ReportsController < ApplicationController def index # Renders index.html.haml end end 类报告控制器
class ReportsController < ApplicationController
def index
# Renders index.html.haml
end
end
类报告控制器
现在我有了一个已经存在的JSON API(ReportsDataController,如下所示)返回JSON响应,我需要重用它
返回JSON响应的控制器(我的JSON API)
class ReportsDataController
在我的app/views/reports/index.html.haml上,我需要同时呈现
操作报告数据控制器#用户#事件(活动和报告数据控制器#用户#评论(活动)
是否有达到上述要求的Rails标准方法?如果没有,请任何人向我建议一些实现同样目标的方法
谢谢
Jignesh如果您不想发出两个请求,则始终可以创建另一个控制器操作并按如下方式呈现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
class ReportsDataController
但如何从ReportsController#索引操作调用JSON API?我将使用此方法本身作为索引操作。
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