Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/54.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 单个Rails控制器操作中的多个JSON响应_Ruby On Rails_Json - Fatal编程技术网

Ruby on rails 单个Rails控制器操作中的多个JSON响应

Ruby on rails 单个Rails控制器操作中的多个JSON响应,ruby-on-rails,json,Ruby On Rails,Json,在我的应用程序和响应块中的控制器上有我的show方法 respond_to do |format| format.html { render :layout =>'placing', :next_days => @next_days}# show.html.erb format.xml { render :xml => @artist } format.json { render :partial => "places/show.json", :artist

在我的应用程序和响应块中的控制器上有我的show方法

respond_to do |format|
  format.html { render :layout =>'placing', :next_days => @next_days}# show.html.erb
  format.xml  { render :xml => @artist }
  format.json { render :partial => "places/show.json", :artist => @artist } }
end
例如,这将基于/places/1.json中的show.json部分生成一个json输出,但是如果我还需要一个json输出,比如/places/alternative_1.json,该怎么办?如果respond_to中已经有一个json格式块,我该怎么做

感谢您的帮助


干杯

然后您必须在
格式.json中创建一些逻辑,更改与
:partial(当前是
“places/show.json”
)关联的内容,或者创建另一个路由

由于
format.json{render…}
是普通的Ruby代码,您可以执行以下操作:

format.json do 
  json_partial = json_for_this_case #example
  render :partial => json_partial, :locals => {:artist => @artist}
end

这感觉更像是一个路由问题,而不是回答问题。您将如何获得其他输出?你指明了一条路,但这是唯一的路吗?您是否将以任何方式返回相同的变量,以便相同的响应将起作用?或者它是一个完全不同的逻辑集,将返回不同的数据集?您好,这是相同的数据。。。问题是:当前的format.json必须保留在那里,它呈现包含特定格式数据的分部。我希望在同一个控制器操作中有另一个json响应,但似乎不可能。无论如何,解决方法是在控制器中创建另一个操作,并对其进行路由。然后它将类似于/places/manage/1。