13

Varsayılan öznitelik bağdaştırıcısından json api bağdaştırıcısına geçmek istersem, bunu nerede yapardım?Aktif Model Serileştiricileri Değiştirme Varsayılan Bağdaştırıcı

başlarken devletler bu:

Genellikle bu serileştirici sınıfları yazma (veya oluşturmak) olacak AMS kullanıcısı olarak, size konuşma. Farklı bir adaptör kullanmak istiyorsanız, böyle bir JsonApi olarak, bir in başlatıcısı değiştirebilirsiniz:

ActiveModel::Serializer.config.adapter = :json_api 

onlar için ne başlatıcı kastediyoruz? Yeni bir tane mi yaratıyorum? Noob sorusu için özür dilerim

cevap

12

Genel olarak, başlatıcılar bir Rails uygulamasında app/config/initializers dizininin altına yerleştirilir.

Yani, sizin durumda, orada yeni bir dosya oluşturabilirsiniz: ams.rb ve bu dosyada bu içerik koymak:

Ayrıca
# app/config/initializers/ams.rb  
ActiveModel::Serializer.config.adapter = :json_api 

, bu github issue bakın.

:json_api biçimini kullanmak istiyorsanız, Github'un 0.10.0 şubesini kullanmanız gerekir. AMS nin yeni versiyonu için

+0

Cevabınız için teşekkürler. Bu yüzden bunu daha önce denedim ve ActiveModel :: Serializer: Class için tanımlanmamış bir metod 'config 'alıyorum. Sadece başlatıcı dosyasını oluşturmayla ilgili bir adımı kaçırmıyorum? – Jshoe523

+0

AMS hangi sürümünü kullanıyorsunuz? –

+0

Şunlara bakın: https://github.com/rails-api/active_model_serializers/issues/803 'Eğer json_api formatını kullanmak istiyorsanız, Github'nın 0.10.0 şubesini kullanmalısınız –

5

config/initializers/ams.rb bu koyun:

require 'active_model_serializers' 

ActiveModelSerializers.config.adapter = :json_api 
+0

Teşekkür rayları yeniden başlatmadan yukarıdaki hatayı atma, config/başlatıcıları/ams.rb içinde json_api ', bu olmalıdır dokümanlar. – jitowix

+0

başlatılmamış sabit ActiveModelSerializers (NameError), 'active_model_serializers' ActiveModelSerializers.config.adapter =: json_api 'yi config/initializers/ams.rb' ye koyup, raylar sunucusunu yeniden başlatırken yukarıdaki hatayı atıyorum – kamal

0

app/config/initializers/ içindeki herhangi bir adla yeni bir dosya oluşturun ve ekleyin:

ActiveModelSerializers.config.adapter = :json_api 

Tüm dosyaları initalizers dizin vadede altında başlatma sırasında bakılmaksızın dosya adının

İlgili konular