@object.as_json
as_json, karmaşık nesneyi model ilişkilerine göre yapılandırmak için çok esnek bir yola sahiptir.
MİSAL
Model kampanyası mağazaya aittir ve tek listeli
Model listesinde birçok list_tasks vardır ve her list_tasks'ın birçok yorumu vardır
Tüm bu verileri kolayca birleştiren bir json alabiliriz.
@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
})
Dikkat yöntemleri:: etiketler , başkalarıyla ilişkisi olmayan herhangi bir ek nesneyi eklemenize yardımcı olabilir. Model kampanyasında ad etiketleriyle bir yöntem tanımlamanız yeterlidir . Bu yöntem, ihtiyacınız olanı döndürmelidir (örneğin, Tags.all)
As_json için resmi belgeler