默认情况下,您只会获得
modelb上面示例中表示的JSON 。但是,您可以告诉Rails也包括其他相关对象:
def export @export_data = ModelA.find(params[:id]) respond_to do |format| format.html format.json { render :json => @export_data.to_json(:include => :modelb) } endend
如果您不想在导出中看到某些字段,甚至可以告诉它排除某些字段:
render :json => @export_data.to_json(:include => { :modelb => { :except => [:created_at, updated_at]}})
或者,仅包括某些字段:
render :json => @export_data.to_json(:include => { :modelb => { :only => :name }})
您可以根据需要将它们嵌套得更深(假设ModelB也具有has_many ModelC):
render :json => @export_data.to_json(:include => { :modelb => { :include => :modelc }})
如果要包括多个子模型关联,则可以执行以下 *** 作:
render :json => @export_data.to_json(include: [:modelA, :modelB, :modelN...])
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)