Rails:查找缺少has_one记录的模型

时间:2012-12-10 18:55:41

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

如果模型用户has_one个人资料,是否有一种简单的方法可以找到没有自定义查询的个人资料(例如,不是User.where('profile_id IS NULL'))或在应用中处理它的所有用户?< / p>

由于Rails已经知道User和Profile之间的关联,我不想重述它。我想保持这种干燥。模型之间的实际连接比这个简单的例子(使用键和类名)更复杂,并且可能在将来发生变化。

1 个答案:

答案 0 :(得分:1)

作为@tadman&amp; @antonk已经说过,你可能想用scope

scope :without_profile, where(profile_id: nil) 

编辑: 要回答@David Mauricio的问题:您可以通过致电User.without_profile来使用它,以使用nil :profile_id返回所有用户的AR关联。

@DriverDan:那我真的不确定你要求的是什么。提出更多细节的另一个问题,我们可以尝试回答它!