有没有办法对统一视图对象的ActiveRecord关联进行反规范化?

时间:2014-08-14 20:01:53

标签: ruby-on-rails ruby-on-rails-3 activerecord associations

我有一个复杂的对象'Variant',它有很多关联。这些方面的东西。

class Spree::Variant
  belongs_to :product
  has_many :variant_properties
end

class Spree::Product
  has_many :variants
  has_many :properties
end

在页面上,我想显示许多需要所有产品/变体关联和属性的变体对象。我之前使用elasticsearch创建了一个统一的视图,它将所有这些数据封装到一个对象中。在变体保存中,elasticsearch将使用更改的映射值更新其索引。

现在我希望删除elasticsearch并通过activerecord获取所有数据。但是用所有数据创建对象需要大量的数据库调用。

有没有办法让我可以使用ActiveRecord获取非规范化对象?

1 个答案:

答案 0 :(得分:0)

您必须使用类似Spree::Product.last.includes(:variants).variants的内容。它解释了here