@object.as_json
as_json memiliki cara yang sangat fleksibel untuk mengkonfigurasi objek kompleks sesuai dengan hubungan model
CONTOH
Kampanye model milik toko dan memiliki satu daftar
Daftar model memiliki banyak list_tasks dan masing-masing list_tasks memiliki banyak komentar
Kita bisa mendapatkan satu json yang menggabungkan semua data itu dengan mudah.
@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
})
Metode pemberitahuan :: tag dapat membantu Anda melampirkan objek tambahan yang tidak memiliki hubungan dengan orang lain. Anda hanya perlu mendefinisikan metode dengan tag nama dalam kampanye model . Metode ini harus mengembalikan apa pun yang Anda butuhkan (mis. Tags.all)
Dokumentasi resmi untuk as_json