У меня есть класс, но я хочу настроить свое поведение, если поле имеет определенное значение. В противном случае я хочу поведение по умолчанию.
class Foo
include Mongoid::Document
belongs_to :parent, :foreign_key => "parent_id", :class_name => "Pad"
has_many :children, :foreign_key => "parent_id", :class_name => "Pad"
field :bar, :type => String
def children
if self.bar == "some value"
# Do something special
else
return self.children # <- What goes here that isn't an infinite loop?
end
end
end
Какой должна быть ветвь else?
Я не хочу переопределять детей, поэтому я ищу больше, чем просто Foo.where (: parent_id => self.id)