我有一个关于使用Ruby on Rails通过一些关联进行查询的问题。
这个问题涉及查询三个模型。 (事件,战斗,战士)。模型的重要部分如下:
我需要写的是一个功能,用于检索具有给定战斗机的所有战斗的列表。但是,这需要通过Event模型完成,因为我们已经运行了一些奇怪的本地化。
有一种简单的方法吗?
答案 0 :(得分:1)
假设
class Event
has_many :fights
end
class Fight
has_many :fighters
end
然后你可以这样做:
events = Event.joins(:fights => :fighters).where("fighters.name = 'sally'")
fights = events.inject([]){|a,e| a = a + e.fights; a }