Ако използвате Mongoid, ето решение, което го прави така, че да не се налага да добавяте метод def id; object._id.to_s; end
към всеки сериализатор
Добавете следния инициализатор на Rails
Mongoid 3.x
module Moped
module BSON
class ObjectId
alias :to_json :to_s
alias :as_json :to_s
end
end
end
Mongoid 4
module BSON
class ObjectId
alias :to_json :to_s
alias :as_json :to_s
end
end
Сериализатор на активен модел за Building
class BuildingSerializer < ActiveModel::Serializer
attributes :id, :name
end
Получен JSON
{
"buildings": [
{"id":"5338f70741727450f8000000","name":"City Hall"},
{"id":"5338f70741727450f8010000","name":"Firestation"}
]
}
Това е маймунска корекция, предложена от brentkirby и актуализиран за Mongoid 4 от arthurnn