我无法弄明白这一点 - 也许我在文档中遗漏了一些东西。我想获得与已发布问题相关的所有文章。 (即article.issue.is_published = true
。)
我有两种模式:
# Article model
class Article < ActiveRecord::Base
belongs_to :issue
...
end
# Issue model
class Issue < ActiveRecord::Base
has_many :articles
...
end
根据我的理解,我可以运行这样的事情:
Article.includes(:issues)
.where('issue.is_published = true')
.references(:issues)
但另一方面我只得到了时髦的生意。我发现的所有例子都有一对多的关系 - 我认为我的命名约定出了问题,但“问题”和“问题”的组合似乎没有任何好转
我在这里缺少什么?
答案 0 :(得分:1)
您希望在此处joins
代替includes
。这转换为SQL内部联接。 Article.joins(:issue).where(issues: {is_published: true})