2012-04-17 82 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