2012-05-18 31 views
5

Tôi có một tập hợp các bài viết tôi muốn hiển thị trong phản hồi json của tôi. Tôi cũng muốn xuất một nút về kiểu yêu cầu json được hỏi.Sử dụng rabl và bộ sưu tập, gặp sự cố khi thêm nút con bổ sung

index.json.rabl

collection @articles => :headlines 
extends 'articles/show' 

show.json.rabl

object @article 
attributes :foo 

Vì vậy, sẽ articles.json mang lại cho tôi:

{"headlines":[{"foo":thing1},{"foo":thing2}]} 

Những gì tôi muốn làm nhận được kết quả như sau:

{"rss":{"name":"articles","woot":"what?"}, 
{"headlines":[{"foo":thing1},{"foo":thing2}]} 

Tôi đã thử đặt nút (: rss) {"yadda yadda"} vào tệp index.json.rabl, nhưng chỉ thêm nút: rss vào mỗi bài viết.

tôi đã cố gắng sử dụng

glue @article do 
    node(:rss) { "yadda yadda" } 
end 

trong cả hai chỉ số và hiển thị tập tin và không phải làm việc như tôi đã hy vọng.

Tôi đã thử nhiều thứ khác, nhưng tại thời điểm này tôi chỉ đoán bây giờ.

Trả lời

9

Ah ... tôi tìm ra. Tôi quyết định không sử dụng "@articles bộ sưu tập"

index.json.rabl

object false 
node(:rss) { partial('articles/rss.json.rabl', :object => @feedName) } 

node :headlines do 
    partial(@jsonView, :object => @articles) 
end 
+0

biến @jsonView là gì? Tôi đang chạy vào một vấn đề tương tự. –

+0

Có lẽ chỉ là một chuỗi tên mà một phần mà anh ta muốn render (một ví dụ có ít chi tiết hơn), có lẽ đã quyết định một số phần của các tham số truy vấn. ví dụ. '/articles.json => @jsonView =" bài viết/ánh sáng ", /articles.json?detailed=true => @jsonView =" article/detail "' – Soup

Các vấn đề liên quan