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

Hello, I’m using the Awesome Nested Set plugin: GitHub - collectiveidea/awesome_nested_set: An awesome replacement for acts_as_nested_set and better_nested_set.

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

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