Ich habe diese Modelle in Ruby on RailsGenerieren Sie ein verschachteltes JSON-Array in JBuilder
Zweig Modell: has_many: Menü
class Branch < ActiveRecord::Base
belongs_to :place
belongs_to :city
has_many :menus , dependent: :destroy
belongs_to :type_place
end
Menü Modell: has_many: Produkte
class Menu < ActiveRecord::Base
attr_accessible :description, :product_name, :price, :category_id, :menu_id
belongs_to :branch
has_many :products, dependent: :destroy
end
Produktmodell :
class Product < ActiveRecord::Base
belongs_to :menu
belongs_to :category
end
mit dem folgenden Code in der Ansicht:
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
bekommt:
{
"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": [
]
}
]
}
Aber als ich die Produkte der einzelnen Menüs bekommen ?, Ich vermute, ich brauche Menü zu durchlaufen, aber ich habe mehrere Möglichkeiten ausprobiert ohne Erfolg.
vielen dank !! hat perfekt funktioniert! – FrancoML
Hmmm es endete für mich arbeiten, ohne JSON in der ersten Arg übergeben und ich auch json .extract! anstelle der Syntax: json. (Zweig,: ID,: Zweigname,: Barcode). –