给定以下两个模型:
class Scientist < ApplicationRecord
has_and_belongs_to_many :papers
end
class Paper < ApplicationRecord
has_and_belongs_to_many :scientists
end
所以每个科学家都有很多论文,每篇论文都有很多科学家(可以说是作者)。我的目标是找到所有没有与他们相关的论文的科学家。
Scientist.left_joins(:papers).where(papers: {id: nil}).pluck(:name)
这会引发以下错误:
ActiveRecord::StatementInvalid: PG::UndefinedTable: 错误: 缺少表“论文”的 FROM 子句条目
我究竟做错了什么?
我正在使用带有 Rails 6 的 Ruby 2.6.5
