rails:rabl gem,自定义类型转换

时间:2012-04-17 09:33:05

标签: ruby type-conversion rabl

我将Mongo DB与Mongoid一起使用,但Mongo Mapper也会出现同样的情况。

我得到以下输出:

{
  :a_doc => {
    :id => BSON::ObjectId('4f8d37521e5945f14a0000a3')
  }
}

我想保持这个干净的语法:

object @a_doc
attributes :id

而不是写:

object @a_doc
attributes :string_id => :id

所以在Rabl的某个时刻,我想抓住类型来转换它。 知道怎么做吗?

1 个答案:

答案 0 :(得分:0)

这与rabl及其JSON支持库如何将对象转换为JSON有关。 Folks have reported similar issues with Decimal and timestamp格式。该库可能没有正确进行转换

您可以提供his answer建议的属性读者,例如

# doc.rb
def api_id
  id.to_s
end

然后你的Rabl观点:

# doc.rabl
object @a_doc
attributes :api_id