2016-05-05 35 views
6

sto usando active_model_serializer 0.10.0.rc5 e grape gem per l'API.ActiveModel :: :: Serializer CollectionSerializer :: NoSerializerError in active_model_serializer 0.10.0.rc5

Ho un post come questo endpoint:

class V1::Endpoints::Posts < Grape::API 
    resource :posts do 
    desc 'Returns a list of posts.' 
    # serializing array 
    get '', each_serializer: V1::Serializers::PostSerializer do 
     @posts = Post.all 
     present @posts 
    end 
    end 
end 

mio serializzatore simile a questa:

class V1::Serializers::PostSerializer < ActiveModel::Serializer 
    attributes :id, :name, :slug 
end 

Ora, quando provo ad accedere alla finale dopo ricevo il seguente errore:

ActiveModel::Serializer::CollectionSerializer::NoSerializerError - No serializer found for resource: 

Il problema che ho rilevato durante il debug del problema si trova nello CollectionSerializer#initialize di questa gemma. Suppongo che la variabile serializer_class stia per diventare nulla.

Ho provato quasi tutti i link che sembravano rilevanti per questo problema. Ma nessuno ha funzionato per me.

risposta

2

tenta di utilizzare serializzatore invece di each_serializer:

get '', serializer: V1::Serializers::PostSerializer do 

Invece di:

get '', each_serializer: V1::Serializers::PostSerializer do