class Participant
has_many :cells
end
class Round
has_many :cells
end
class Question
has_many :cells
end
class Cell
belongs_to :participant
belongs_to :question
belongs_to :Round
end
a = an instance of Participant, Question or Round
b = an instance of Participant, Question or Round
我想在属于指定 a 和 b 的所有 Cell 实例上编写一个迭代。我知道 a 和 b 不是同一类的实例,但我不知道它们是哪一个。
我想我可以写:
if a.class == Participant && b.class == Question
Cell.select(participant_id: a.id, question_id: b.id).each do
... and so on
但这真的很丑。我认为必须以某种方式使用 join 方法,但我无法弄清楚。谢谢!