如何将关联扩展到多个级别?现在我可以展开reviews
,但我不确定如何展开the patient_profile_id
?
class Review
belongs_to :patient_profile
end
render json: doctors.to_json(
:include => {:reviews => {:include => :patient_profile_id }}
)
答案 0 :(得分:2)
我强烈建议您查看jbuilder gem。有great railscast解释了它的用法。
基本上,您必须在视图中添加一个jbuilder文件,这样您就可以对json进行更多控制。
对于您的特定用例,您可以使用以下内容:
<强>医生/ index.json.jbuilder 强>
json.doctors @doctors do |json, doctor|
json.(doctor, :id, :name)
json.reviews doctor.reviews do |json, review|
json.(review, :id, :rating, :patient_profile_id)
json.patient_profile review.patient_profile do |json, profile|
json.(profile, :id, :name, ... ) # attributes of the profile
end
end
end
答案 1 :(得分:1)
尝试使用以下内容:
render json: doctors.to_json(
:include => {:reviews => {:include => :patient_profile }}
)
Here您可以找到有关如何序列化嵌套对象的详细信息。
答案 2 :(得分:-1)
检查覆盖as_json方法