我正在使用的这个rails应用程序具有以下模型:
专辑has_many:track
追踪belongs_to:专辑
部分应用允许我通过点击链接播放整个相册。这会触发像这样的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
这给了我所有的曲目但不是专辑。
因此,如果有办法同时获得一个请求,请指出正确的方向。
感谢。
答案 0 :(得分: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)