'daki ilişkilendirme özniteliği için farklı bir anahtar adı kullanmak JSON'daki gerekli alanları kolayca filtrelemek için rails-api ve active-model-serializer kullanarak Rest API yapıyorum. Bu serileştiricilerde de has_one
ilişkisini kullanıyorum. Tüm bilmek istediğim, has_one
özniteliği için farklı bir anahtar adı nasıl belirtebilirim. Employee
ve Address
ve bir has_one :address
diyelim EmployeeSerializer
vardır: isRaylar api active model serializer
, ben iki model söz sahibi.
{
id: 1,
address: {
street: "some_street",
city: "some_city"
}
}
Ama şu yanıtı almak istiyorum: Ben almak yanıttır
{
id: 1,
stays: {
street: "some_street",
city: "some_city"
}
}
Ben has_one :address, :key => :stays
kullanarak çalıştı, ancak bu işe görünmüyor.
AMS hangi sürümünü kullanıyorsunuz şu şekildedir:
Employee
için Nihai serileştirici görünmelidir? Ben kod tabanı ile yakından tanıdık değilim, ama hızlı bir bakış açısıyla 'anahtar' argümanı tüm yeni olanlara dahil edilmemiş gibi görünüyor. Bir geçici çözüm olarak, 'has_one: konaklamaları '' def 'ile birlikte tanımlamayı deneyin; object.address; Sonu '. – janfoeh@janfoeh 0.9.0 sürümünü kullanıyorum.Ayrıca dernek için farklı bir serializer kullanıyorum. yani, has_one: adres, anahtar: 'status', serializer: MyAddressSerializer'. Bu MyAddressSerializer' 'dan özelliklerini alıyor ama özellikte temel hala' address' – swaroopsm
Ah olduğunu. I [0.9.0 ve 0.9.1 arasında değişir] okumak (https://github.com/rails-api/active_model_serializers/compare/v0.9.0...v0.9.1) doğru, bağımsız değişken olarak adlandırılan 'embed_key '0.9.0 değil,' anahtar '. – janfoeh