Я только начал использовать Ancestry вместо awesome_nested_set, и я хотел бы создать вложенную форму, чтобы я мог создать родительскую учетную запись и множество дочерних учетных записей в одной форме. Проблема, похоже, в том, что Ancestry не позволяет вам создать дочерний элемент для нового родителя.
В awesome_nested_set я мог сделать это в консоли rails
a = Account.new
a.children.build
Когда я набираю a.children, я вижу этот новый дочерний элемент в там, хотя моя родительская учетная запись еще не создана. Это позволило мне отобразить форму с родительской учетной записью и несколькими пустыми дочерними элементами, а затем при отправке я бы просто проигнорировал все пустые дочерние элементы и создал всю партию.
Если я попытаюсь сделать то же самое, используя родословную, я получу следующую ошибку :
a=Account.new
a.children
Ancestry::AncestryException: No child ancestry for new record. Save record before performing tree operations.
from /home/map7/.rvm/gems/ruby-1.9.2-p180/gems/ancestry-1.2.4/lib/ancestry/instance_methods.rb:62:in `child_ancestry'
from /home/map7/.rvm/gems/ruby-1.9.2-p180/gems/ancestry-1.2.4/lib/ancestry/instance_methods.rb:132:in `child_conditions'
from /home/map7/.rvm/gems/ruby-1.9.2-p180/gems/ancestry-1.2.4/lib/ancestry/instance_methods.rb:136:in `children'
from (irb):8
from /home/map7/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.7/lib/rails/commands/console.rb:44:in `start'
from /home/map7/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.7/lib/rails/commands/console.rb:8:in `start'
from /home/map7/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.7/lib/rails/commands.rb:23:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'
Это ограничение по происхождению? Есть ли другой способ создания вложенной формы с использованием предков?