Rails范围与另一个模型范围连接?

时间:2014-06-13 11:37:35

标签: ruby-on-rails ruby

在一种情况下,我需要加入4个范围中的4个范围,3个是用模型(A)编写的,另一个是模型(B),如何加入这些范围?

这两个模型有HABTM关系

Model A
  scope 1
  scope 2
  scope 3

  total_scope= scope1.scope2.scope3.scope4
end

Model B
  scope 4
end

1 个答案:

答案 0 :(得分:14)

你的问题措辞不是很好,但我认为你提出的问题与Active Record's merge feature有关:

class ModelA
  scope :total_scope, -> { scope1.scope2.scope3.joins(:modelb).merge(ModelB.scope4)
end