вложенная форма рельсов предков

Я только начал использовать 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>'

Это ограничение по происхождению? Есть ли другой способ создания вложенной формы с использованием предков?

5
задан map7 9 June 2011 в 00:03
поделиться