范围具有两个深度关系的对象的所有实例

时间:2014-11-26 16:14:04

标签: ruby-on-rails scope

对不起标题我在解释我的问题时遇到了一些困难,甚至更多的是用英语解释。

我的用例是:

我有一个拥有多个团队的用户,每个团队拥有一个游戏。

我想在我的模型用户中添加一个方法(我相信的范围),该方法可以获取与用户相关的所有游戏。我想是这样的:

scope :games, includes({:teams => [:game]})

由于某种原因我还不知道这条线不起作用。 但如果我成功做到这一点,我将获得所有球队和所有比赛。

而我只想要一个包含游戏的阵列。

我搜索更优雅的方式来做到这一点。 感谢您阅读:)

1 个答案:

答案 0 :(得分:0)

如果你使用Rails 4,那么所有范围必须用lambdas包装。

scope :games, -> { includes({:teams => [:game]}) }