ruby-on-rails - 在 rails 3 中查找没有关联记录的记录

标签 ruby-on-rails scope

class Person < ActiveRecord::Base
  has_many :pets

  scope :with_dog, join(:pets).where("pets.type = 'Dog'")
  scope :without_pets ???????????????????????????????????
end

class Pet < ActiveRecord::Base
  belongs_to :people
end

我想向 Person 模型添加一个范围,以返回没有宠物的人。有任何想法吗?我觉得这很明显,但此刻它正在逃避我。

最佳答案

scope :without_pets, lambda { includes(:pets).where('pets.id' => nil) }

关于ruby-on-rails - 在 rails 3 中查找没有关联记录的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5332093/

相关文章:

ruby-on-rails - 如何检查模型枚举中的多个值

ruby-on-rails - 用 gemfile 重新编译 database.yml 文件? rails 上的 ruby

java - 如何在 Java 中从包含数字的文件创建数组?

c# - 作用范围参数

c - 在 C 中,如何使常量仅对特定源文件可见?

ruby-on-rails - 如何在 Capybara/Poltergeist 中测试 JavaScript 错误

javascript - 使用JS/jQuery返回原文

ruby-on-rails - 获取 inf-ruby 以使用 ruby​​ 版本管理器 (rvm)

javascript - 尝试添加多个 D3 图

scope - 使用 Dart 的 final 关键字确定范围