2013-10-06 32 views
0

这Rails应用程序我的工作有以下型号对象通过点击链接播放整个专辑。这触发关闭一个Ajax请求就像这样:获取家长和孩子们在单个Ajax响应

$.ajax({ 
    url: '/albums/' + _this.parent().data("id") + '.json', 
    data: { id : _this.parent().data("id") }, 
    success: function(json) { 
     //more code here 

    } 
    }); 

我的控制器有这样的:

def show 
    @album = Album.find(params[:id]) 
    render json: @album 
end 

这一切工作!

我的问题是,我怎样才能在一个Ajax请求中获取专辑和属于该专辑的曲目?

我想:

render json: @album.tracks 

这给了我所有的曲目而不是专辑。

因此,如果有一种方法可以同时满足一个请求,请指出正确的方向。

谢谢。

回答

2

或许,如果你这样做:

render json: {'album' => @album, 'tracks' => @album.tracks} 

然后在您的Ajax代码:

success: function(json) { 
    //more code here 
    json.album contains album info 
    json.tracks contains tracks info 

} 

编辑这是一条线一个更简洁的方法:

render json: @album.to_json(:include => :tracks) 
+0

完美,这工作!感谢您及时的回复。 – user2209090