流星autoform访问嵌套属性

问题描述:

我有一些链接架构,并试图从主架构的窗​​体访问子模式的属性。我知道这是一口。代码可以帮助:流星autoform访问嵌套属性

//js 
Collection = new Meteor.Collection('collection'); 
Schemas = {}; 
Schemas.secondary = new SimpleSchema({ 
    unitType: { 
     type: String, 
     autoform: { 
     type: 'select', 
     options: //function with all the options 
    } 
    } 
}); 

Schemas.primary= new SimpleSchema({ 
    name: { 
     type: String, 
    }, 
     units: { 
     type: [ Schemas.secondary ] 
    } 
}); 

Collection.attachSchema(Schemas.primary); 


//HTML 
{{#autoForm collection="Collection" id="someId" type="insert"}} 
    {{> afQuickField name='name'}} // this works 
    {{> afQuickField name='units'}} // this works 
    {{> afQuickField name='units.unitType'}} // this doesn't work :-(
{{/autoForm}} 

我这样做的原因是因为在二级架构等性能,我想有条件地显示的基础上,选择框的值。我也尝试在窗体中放置一个窗体,然后运行{{#each afFieldNames name='"units"}},但那也不是很有效。它不是仅给出单位中包含的字段(即辅助模式),而是循环遍历主要和次要的所有字段。

想法?我没有结婚这种模式,但我想不出另一种方式。

再次感谢所有。 db

+0

尝试'{{> afQuickField名= 'units.1.qty'}} {{> afQuickField名= 'units.1.unitType'}} ' – juanpastas 2014-11-05 04:33:21

+0

的答案是为您继承的每个模式选项创建自定义子模板。我会稍微张贴一个fildde。 – 2014-11-05 20:13:09

我自己也有这个问题。

给这个一去

{{> afQuickField scope='units.unitType' name='units.unitType'}} 

如果你在转储你修正你之前提交钩子,你应该能够看到成功填补了子文档

AutoForm.hooks({ 
    someId: { 
    before: { 
     'insert': function(modifier) { 
     console.log(modifier); 
     } 
    } 
    } 
}); 

让我知道,如果这个工程您!

一切顺利, 埃利奥特