2013-05-29 4 views
1

Lors du rendu JSON d'un modèle avec les associations imbriquées que je reçois l'erreur suivante:erreur avec les associations utilisant le modèle actif Sérialiseurs

undefined method `serializable_hash' for #<ActiveModel::ArraySerializer:0x007fe761592d88> 

Voici mon code:

class EventSerializer < ActiveModel::Serializer 
    attributes :id, :name, :date 

    has_many :markets 
end 

class MarketSerializer < ActiveModel::Serializer 
    attributes :id, :bet_limit_time 

    has_many :options 
end 

class OptionSerializer < ActiveModel::Serializer 
    attributes :id, :name, :odds 
end 

L'erreur apparaît lors du rendu l'association d'options.

C'est un cas assez simple, mais je n'ai trouvé aucun problème à ce sujet.

+0

Avez-vous eu nulle part avec ça? Avoir le même problème. – mfaerevaag

Répondre

0

Je pense que c'est un problème avec un attribut nommé options. Voir https://stackoverflow.com/a/16005874/157943:

"It turns out that using :option as a property name was causing conflicts. There are probably other conflicting names as well. Gotta be careful about the namespace!"

Je ne sais pas comment le résoudre autre que de renommer l'association options (peut-être vous pourriez construire manuellement en remplaçant #attributes et la construction du hachage manuellement?)

Questions connexes