2013-05-19 95 views
3

TL; DR: 如何使用jbuilder創建看起來像這樣的JSON?如何用JBuilder和Rails創建JSON結構?

[ 
    {}, // Your new pagination state 
    [{}, ...] // An array of JSON objects 
] 

加長版:

我試圖獲取分頁與Backbone.js的骨幹分頁的https://github.com/wyuenho/backbone-pageable工作。

Backbone-pageable要求將返回的JSON格式化爲兩個對象的數組。第一個對象是一個包含分頁控制信息的常規對象。第二個對象應該是您的實際數據的陣列,格式爲Backbone通常期望的格式。這些期望被硬編碼到骨幹網頁的解析方法中(source

看起來很奇怪有一個不相似的項目的數組,但對於這種用例它似乎可以接受。

對JSON我使用Rabl的過去,但對於科學我試圖使用JBuilder和我已經得到了這麼遠......

JSON結構(錯誤):

{ 
    "current_page": 1, 
    "total_pages": 6, 
    ..., 

    "entries": [ 
    { "id": 131 }, 
    ... 
    ] 
} 

使用此代碼:

json.current_page @posts.current_page 
... 

json.entries @posts do |post| 
    json.extract! post, :id... 
end 

近了,但還是非常錯誤的:/

謝謝

回答

2

你可以試試這個:

json.array! [0,1] do |index| 
    if index == 0 
    json.current_page @posts.current_page 
    ... 

    else 
    json.entries @posts do |post| 
     json.extract! post, :id... 
    end 
    end 
end 
+1

謝謝你回答我的問題。這是一個奇怪的做法,但它會工作,所以我標記爲正確的。 – CharlesHorse