一個嵌套的JSON數組我有這樣的車型在上軌產生的JBuilder
分公司模型紅寶石:的has_many:菜單
class Branch < ActiveRecord::Base
belongs_to :place
belongs_to :city
has_many :menus , dependent: :destroy
belongs_to :type_place
end
菜單模式:的has_many:產品
class Menu < ActiveRecord::Base
attr_accessible :description, :product_name, :price, :category_id, :menu_id
belongs_to :branch
has_many :products, dependent: :destroy
end
產品型號:
class Product < ActiveRecord::Base
belongs_to :menu
belongs_to :category
end
與視圖下面的代碼:
if @condition
json.code :success
json.branch do
json.array!(@branches) do |json, branch|
json.(branch, :id, :branch_name, :barcode)
json.menu branch.menus, :id, :menu_name
end
end
else
json.code :error
json.message 'Mensaje de error'
end
得到:
{
"code": "success",
"branch": [
{
"id": 1,
"branch_name": "Sucursal 1",
"barcode": "zPOuByzEFe",
"menu": [
{
"id": 2,
"menu_name": "carta sucursal 1"
}
]
},
{
"id": 2,
"branch_name": "Sucursal Viña Centro",
"barcode": "RlwXjAVtfx",
"menu": [
{
"id": 1,
"menu_name": "carta viña centro"
},
{
"id": 5,
"menu_name": "carta viña centro vinos"
}
]
},
{
"id": 3,
"branch_name": "dddd",
"barcode": "eSbJqLbsyP",
"menu": [
]
}
]
}
但我得到了每個菜單的產品?我懷疑我需要遍歷菜單,但我已經嘗試了幾種方法沒有成功。
非常感謝你!工作完美! – FrancoML
嗯,它結束了爲我工作,沒有傳遞json作爲第一個參數,我也用json。提取!而不是語法:json。(branch,:id,:branch_name,:barcode)。 –