我需要渲染一些基于我的模型的JSON,并且我需要包含一些相关的模型。这是我的代码。渴望加载to_json包括
def validate_candidate_id
matches = User.where(:wca_id => params[:wca_id])
if matches.any?
respond_to do |format|
format.html { redirect_to user_url(matches.first) }
format.json { render :json => matches.first.to_json(:include => {:candidate_results => {:include => [:checklist_item_results, :assessment]}}) }
end
else
respond_to do |format|
format.html { render :text => "Invalid ID" }
format.json { render :json => {}.to_json }
end
end
end
结果。然而,是这样的:
{"user":{"admin":true,"email":"[email protected]","evaluator":true,"first_name":"Charlie","id":1,"last_name":"Mezak","wca_id":"999999","candidate_results":[{"id":5,"checklist_item_results":[{"id":45},{"id":46},{"id":47},{"id":48},{"id":49},{"id":50},{"id":51},{"id":52},{"id":53},{"id":54},{"id":55}],"assessment":{"id":1}}]}}
正如你所看到的,所有相关的模型都缺少它们的属性。只包括他们的ID密钥。我假设这与急切的加载有关,我需要以某种方式将这些记录加载到内存中,以便将它们的全部内容包含在to_json中,但是如何做到这一点?
谢谢!