У меня просто похожая проблема, я пытаюсь получить доступ к self_and_ancestors
в before_save
обратном вызове.
Проблема в том, что дочерняя запись еще не была создана на уровне БД, но self_and_ancestors
(на которую, кстати, также ссылается ancestors
) запрашивает БД, ожидая, что наш новый дочерний элемент уже был создан ...
Уловка-22.
EDIT:
Это некрасиво, но в качестве обходного пути для этого ограничения awesome_nested_set это должно работать для OP (при условии, что родитель уже существует):
before_save do
self.level = self.parent.self_and_ancestors.count
end