2012-09-26 16 views
2

我目前正在從ActiveRecord的as_json切換到RABL以進行API生成。RABL將ActiveRecord時間戳或日期時間呈現爲數字而不是字符串

as_json已經在我的模型中呈現格式爲2012-09-16T22:14:11+00:00的字符串的時間戳。但是,當我切換到RABL時間戳開始渲染時,如1347926218.084763000(注意這些日期來自兩個不同的對象,不應該是相等的)。有沒有辦法強制字符串格式?

我.rabl模板很簡單:

object @person 
attributes :id, :created_on, :name 

,我也得到:

{"id":3,"created_on":1347926218.084763000,"name":"fred"} 

回答

4
object @person 
    node(:id){|person|(person.id)} 
    node(:created_on){|person|(person.created_on.strftime(%d,%m,%Y)} 
    node(:name){|person|(person.name)} 
end 

,或者嘗試

object @person 
    attributes :id, :name 
    node(:created_on){|person|(person.created_on.strftime(%d,%m,%Y)} 
end 

有用於.strftime更多選項( )你可以在很多網站上找到。它必須用於:日期對象類型。您可以使用它的選項自定義日期輸出。我正在爲一些json輸出工作自定義節點,並且正在努力學習這一點!

如果您需要按照一定的順序我用一個與節點的屬性,因爲屬性似乎「浮動頂端」創建的JSON對象。

+0

啊,這很酷。我希望它可以用於開箱即用,但這似乎是一個很好的替代品。謝謝! – kevboh

相關問題