2013-10-06 67 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