如何在json响应中将mongo id作为字符串返回

时间:2014-09-22 06:13:54

标签: ruby-on-rails mongodb ruby-on-rails-4 mongoid

我正在使用Rails 4.1.5& Mongoid 4.0。 我的apis正在将mongo id作为哈希

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

我想要这样的东西

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

我已经检查了this question,但我不确定我需要在哪个文件中添加此答案中提到的更改

1 个答案:

答案 0 :(得分:11)

您需要在config / initializers中创建一个文件并将代码放在那里。

更新:

使用以下代码:

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

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