2012-04-17 106 views
1

我使用Mongo DB和Mongoid,但Mongo Mapper使用同样的东西。rails:rabl gem,自定义类型转换

我得到以下输出:

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

我想保持这种清洁syntaxe:

object @a_doc 
attributes :id 

而是做写:

object @a_doc 
attributes :string_id => :id 

因此,在一些点rabl,我想抓类型来转换它。 任何想法如何做到这一点?

回答

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 
+0

宇,这是一段很长的时间...现在我使用_id属性。它的行为与您的解决方案相似,但不必在每个模型中添加方法;) – ProxyGear 2014-01-24 19:05:56

相关问题