Rafael França and I got this working at RailsConf and have submitted a PR. Let me know if anyone has suggestions for improvement!
On Wed, Dec 12, 2018 at 3:57 PM DHH <da...@loudthinking.com> wrote: > I even like Person.where.missing(:parent). The key distinguisher is to use > modifiers on #where, just like we have with #not, rather than hang these > off the root scope. > > On Tuesday, December 11, 2018 at 3:38:36 PM UTC-8, Joshua Stowers wrote: >> >> This reminds me of another recent topic: >> https://groups.google.com/forum/?fromgroups#!topic/rubyonrails-core/wAkJbUb3mio >> They're discussing the idea of adding a presence scope with >> `Person.where.present(:name)` >> If this method also checks for the presence of associated records like >> `Person.where.present(:parent)` then it would make sense to also have a >> method that does the opposite (like you're proposing). >> Or perhaps it would simply make more sense to instead use >> `Person.where.not.present(:parent)`. >> >> >> On Monday, December 10, 2018 at 7:55:51 PM UTC-6, John Pollard wrote: >>> >>> I definitely find myself looking for orphans to clean up my database. >>> What about adding a method scope as "missing_#{relationship_name}" >>> >>> Book.missing_author #without a parent >>> >>> Author.missing_books #without children >>> >>> >>> On Tuesday, November 27, 2018 at 5:41:53 PM UTC-5, Tom Rossi wrote: >>>> >>>> Its common for me to look for orphans and I typically do it like this: >>>> >>>> Child.eager_load(:parent).where(parents: { id: nil }) >>>> >>>> I would like to propose putting together a PR for something like this: >>>> >>>> Child.missing(:parent) >>>> Parent.missing(:children) >>>> >>>> Please let me know if others are interested in the functionality and I >>>> would love to give it a shot! >>>> >>> -- > You received this message because you are subscribed to the Google Groups > "Ruby on Rails: Core" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to rubyonrails-core+unsubscr...@googlegroups.com. > To post to this group, send email to rubyonrails-core@googlegroups.com. > Visit this group at https://groups.google.com/group/rubyonrails-core. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-core+unsubscr...@googlegroups.com. To post to this group, send email to rubyonrails-core@googlegroups.com. Visit this group at https://groups.google.com/group/rubyonrails-core. For more options, visit https://groups.google.com/d/optout.