Tôi có rabl mẫu này:RABL: đối tượng JSON mà không có gốc chính
object @photo
attributes :id
child :comments do
attributes :id, :body
end
nào mang lại cho tôi câu trả lời JSON này:
{
photo: {
id: 1,
comments: [
{
comment: {
id: 1,
body: 'some comment'
}
},
{
comment: {
id: 2,
body: 'another comment'
}
}
]
}
}
Nhưng tôi muốn nó trông như thế này:
{
id: 1,
comments: [
{
id: 1,
body: 'some comment'
},
{
id: 2,
body: 'another comment'
}
]
}
Tại sao rabl quấn từng phần tử trong mảng bằng một đối tượng phụ được gọi là comment
. Bằng cách này khi tôi truy cập vào bộ sưu tập trong javascript tôi phải viết:
var comment = image.comments[0].comment
thay vì:
var comment = image.comments[0]
Tôi biết rằng nếu tôi bao gồm :comments
trong danh sách các thuộc tính cho đối tượng @photo
nó hoạt động theo cách tôi muốn, nhưng khi tôi muốn một mức độ liên kết lồng nhau cho mỗi đối tượng comment
, không có cách nào để xử lý điều đó ngoài việc sử dụng child
, nhưng điều đó mang lại cho tôi phản hồi JSON mà tôi không muốn.
Có lẽ tôi chỉ hiểu lầm toàn bộ vấn đề - ai đó có thể giải thích hoặc giúp đỡ? Cảm ơn!
Tôi có vấn đề này giống nhau và phát hiện ra rằng tôi cần phải thêm "config.include_child_root = false" ngoài include_json_root = false –