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

时间:2011-08-30 16:31:41

标签: 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 => @artist } }
end

这样,例如,在/places/1.json中生成一个基于show.json部分的json输出,但是如果我还需要一个json输出,比如/places/alternative_1.json呢?如果在respond_to中有一个json格式块,我怎么能这样做?

感谢任何帮助!

干杯!

1 个答案:

答案 0 :(得分:0)

然后,您必须在format.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