2014-09-22 3 views
4

J'utilise Rails 4.1.5 & Mongoid 4.0. Mes apis reviennent id mongo est comme hachagecomment retourner mongo id comme chaîne dans la réponse json

{ 
_id: { 
$oid: "541e79bc616b684e75000000" 
} 
created_at: "2014-09-21T07:09:48.599Z" 
} 

Je veux quelque chose comme ça

{ 
id: "541e79bc616b684e75000000" 
created_at: "2014-09-21T07:09:48.599Z" 
} 

J'ai vérifié this question déjà, mais je ne suis pas sûr dans quel fichier je dois mettre les changements mentionnés dans ce answer

+0

Vous pouvez simplement créer un fichier appelé mongoid.rb, dans le dossier lib. – Santhosh

+0

J'ai créé deux fichiers moped.rb & mongoid.rb dans le dossier libs, mais le problème n'est pas résolu avec [cette réponse] (http://stackoverflow.com/questions/23505247/have-to-json-return-a-mongoid -as-a-string) – Akhil

+0

Avez-vous redémarré le serveur? – Santhosh

Répondre

10

Vous devez créer un fichier dans config/initializers et y mettre le code.

MISE À JOUR:

Utilisez le code suivant:

module BSON 
    class ObjectId 
    def to_json(*args) 
     to_s.to_json 
    end 

    def as_json(*args) 
     to_s.as_json 
    end 
    end 
end 
+0

problème existe toujours après le déplacement des fichiers à config/initalizers – Akhil

+0

Je viens de mettre à jour ma réponse. il y a un petit changement sur le patch. – Zakwan

+1

Merci, ça a marché :) – Akhil

Questions connexes