5
我刚刚开始使用Ancestry而不是awesome_nested_set,我想创建一个嵌套窗体,以便我可以在一个窗体中创建一个父帐户和许多子帐户。问题似乎是,祖先不允许你为新父母创造一个孩子。铁轨祖先嵌套形式
在awesome_nested_set当我键入a.children我可以看到,新的孩子,即使我的账户父尚未创建有我能做到这一点的轨道控制台
a = Account.new
a.children.build
。这使我可以用父母账号和几个空白的孩子来显示一个表格,然后在提交时我会忽略任何空白的孩子并创建整个地段。
如果我尝试做使用相同的血统,我得到了以下错误:
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>'
这是祖先的限制? 我有一种不同的方式可以使用祖先创建一个嵌套表单吗?
是的,这并不理想。由于这个问题,以及它不能很好地与思维 - 狮身人面像和多维哈希分页看起来不可能,我回到了真棒嵌套集。我喜欢干净的祖先,这对于简单的事情会有好处,但这不适合我目前的项目。 – map7 2011-06-17 04:16:04
我遇到了试图用FactoryGirl编写测试的相同问题。对不起僵尸这个问题,但我认为这可能是有趣的一些。 – IAmNaN 2012-04-26 23:12:21