Ruby on rails 如何在多对多中获取中间表的列?

Ruby on rails 如何在多对多中获取中间表的列?,ruby-on-rails,Ruby On Rails,如何从收货实例中获取数量 我有三张桌子:收据、收据、食物 我想从receipt实例获取receipt\u foods的列,例如quantity class Receipt # columns: id, place has_many :receipt_foods has_many :foods, through: :receipt_food end class ReceiptFood # columns: id, quantity, receipt_id, food_id b

如何从收货实例中获取数量

我有三张桌子:收据、收据、食物
我想从receipt实例获取receipt\u foods的列,例如quantity

class Receipt
  # columns: id, place
  has_many :receipt_foods
  has_many :foods, through: :receipt_food
end

class ReceiptFood
  # columns: id, quantity, receipt_id, food_id
  belongs_to :receipt
  belongs_to :food
end

class Food
  # columns: id, name
  has_many :receipt_foods
  has_many :receipts, through: :receipt_food
end
我想这样回应json:

{ "receipts": [
  "receipt": {
     "id": 1,
     "place": "supermarket",
     "foods": [ {
        "food": {
           "id": 1,
           "quantity": 12, // how to echo this ?
           "name": "apple" } 
....
  }

你可以得到如下数量

receipt_foods = @receipt.receipt_foods 
receipt_foods.each do |receipt_food|
  puts receipt_food.quantity 
end