首页 > 解决方案 > 在一个实例中映射多个关联

问题描述

有没有办法在一个实例中映射多个关联?

例如:

@sale.sale_selections.flat_map { |ss| (ss.drinks + ss.food).map { |d, f| d.water, f.cake }}

销售模式

class Sale < ApplicationRecord
  accepts_nested_attributes_for :sale_selections, allow_destroy: true
  has_many :drinks, through: : sale_selections
  has_many :foods, through: : sale_selections
end

标签: ruby-on-railsruby-on-rails-5

解决方案


尝试跟随,

@sale.sale_selections.map { |ss| ss.drinks.map(&:water) + ss.food.map(&:cake) }.flatten

推荐阅读