@object.as_json
as_json มีวิธีที่ยืดหยุ่นในการกำหนดค่าวัตถุที่ซับซ้อนตามความสัมพันธ์ของแบบจำลอง
ตัวอย่าง
แคมเปญรุ่นเป็นของช็อปและมีหนึ่งรายการ
รายการแบบจำลองมีlist_tasksจำนวนมากและแต่ละรายการlist_tasksมีความคิดเห็นมากมาย
เราสามารถรับ json หนึ่งอันซึ่งรวมข้อมูลเหล่านั้นทั้งหมดได้อย่างง่ายดาย
@campaign.as_json(
{
except: [:created_at, :updated_at],
include: {
shop: {
except: [:created_at, :updated_at, :customer_id],
include: {customer: {except: [:created_at, :updated_at]}}},
list: {
except: [:created_at, :updated_at, :observation_id],
include: {
list_tasks: {
except: [:created_at, :updated_at],
include: {comments: {except: [:created_at, :updated_at]}}
}
}
},
},
methods: :tags
})
วิธีแจ้งให้ทราบ:: แท็กสามารถช่วยคุณแนบวัตถุเพิ่มเติมใด ๆ ที่ไม่มีความสัมพันธ์กับผู้อื่น คุณเพียงแค่ต้องกำหนดวิธีการที่มีชื่อแท็กในรูปแบบแคมเปญ วิธีนี้ควรคืนสิ่งที่คุณต้องการ (เช่น Tags.all)
เอกสารอย่างเป็นทางการสำหรับas_json