Rails 4:Active Record根据belongs_to关系的属性获取条目

时间:2015-12-07 00:41:46

标签: ruby-on-rails ruby-on-rails-4 activerecord rails-activerecord

我无法弄明白这一点 - 也许我在文档中遗漏了一些东西。我想获得与已发布问题相关的所有文章。 (即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)

但另一方面我只得到了时髦的生意。我发现的所有例子都有一对多的关系 - 我认为我的命名约定出了问题,但“问题”和“问题”的组合似乎没有任何好转

我在这里缺少什么?

1 个答案:

答案 0 :(得分:1)

您希望在此处joins代替includes。这转换为SQL内部联接。 Article.joins(:issue).where(issues: {is_published: true})