0

我有模型GuestOrder, OrderBatch, OrderItem

# == Schema Information
#
# Table name: guest_orders
#
#  id             :integer         not null, primary key
#  notes          :string(255)
#  adults         :integer
#  children       :integer
#  created        :datetime
#  placed         :datetime
#  billed         :datetime
#  created_at     :datetime
#  updated_at     :datetime
#

class GuestOrder < ActiveRecord::Base
  has_many :order_batches, :dependent => :destroy
end

# == Schema Information
#
# Table name: order_batches
#
#  id             :integer         not null, primary key
#  placed         :datetime
#  guest_order_id :integer
#  created_at     :datetime
#  updated_at     :datetime
#

class OrderBatch < ActiveRecord::Base
  belongs_to :guest_order
  has_many :order_items, :dependent => :destroy
end

# == Schema Information
#
# Table name: order_items
#
#  id             :integer         not null, primary key
#  quantity       :integer
#  accepted       :datetime
#  cooking        :datetime
#  ready          :datetime
#  delivered      :datetime
#  cancelled      :datetime
#  order_batch_id :integer
#  dish_id        :integer
#  created_at     :datetime
#  updated_at     :datetime
#

class OrderItem < ActiveRecord::Base
  belongs_to :order_batch
  belongs_to :dish
end

我试图在以下方法中呈现 json,以通过将 guest_order id 作为参数传递来获取 guest_order 及其所属的 order_batches 和 order_items。

    def getOrderDetails
        #To get the details of a particular guest_order and its batches and items
        @guest_order = GuestOrder.find_by_id(params[:id])
        render :json => @guest_order.to_json(:except => [:created_at, :updated_at], 
:includes => {:order_batches => {:except => [:guest_order_id, :created_at, :updated_at],
:includes => {:order_items => {:except => [:order_batch_id, :created_at, :updated_at] } } } } )
    end

但我没有得到预期的结果,只呈现了 guest_orders 表中的详细信息。如何解决这个问题?

4

1 回答 1

1

我使用 :include 而不是 :includes,不确定这是否重要。

尝试先使用不带 :except 的 :include,然后当你开始工作时,添加 :except。

于 2012-04-07T08:41:16.677 回答