Rails - Acts as Nested - Impossible move, target node cannot be inside moved tree

Hello, I’m using the Awesome Nested Set plugin:

And in my model I do the following:

 acts_as_nested_set
 after_save :ensure_max_nestedset_level
private

def ensure_max_nestedset_level
  if self.level > 2
    self.move_to_child_of(parent.parent)
  end
end

I do this to keep the levels from getting to deep. Any idea why I’m
getting
this “Impossible move, target node cannot be inside moved tree.” error?
What’s strange is it happens on production but I can’t replicate it on
Dev.

Thanks

Had the same very strange bug too

On 8 March 2011 03:56, CuriousNewbie [email protected] wrote:

end
end
I do this to keep the levels from getting to deep. Any idea why I’m getting
this “Impossible move, target node cannot be inside moved tree.” error?
What’s strange is it happens on production but I can’t replicate it on Dev.

I suggest that you put some logging in immediately before the move and
log details of self, parent and parent.parent and see what is shown
when it crashes. My guess is that the tree is messed up in some way
and you have ended up with something like self being its own
grandparent.

Another suggestion is to look at the code of Awsome Nested Set and see
what is the condition that generates this error.

Colin