У меня есть древовидная структура, примерно такая:
class Node < ActiveRecord::Base
belongs_to :parent, :class_name => self.to_s, :foreign_key => 'parent_id'
has_many :children, :class_name => self.to_s, :foreign_key => 'parent_id', :dependent => :destroy
...
end
Я могу загрузить все узлы, у которых нет родителя, с такой областью:
named_scope :not_child, :conditions => 'parent_id IS NULL'
Но мне также нужно найти узлы, которые не имеют дочерних элементов, но могут иметь родителя, и мне трудно с этим. Я думаю, что я должен включить children_events, но тогда я потерялся, я не могу использовать:
named_scope, :faulty_not_parent, :include => :children, :conditions => "node.parent_id IS NULL"