1

我在 mongoDB 中有一个“广告”集合,以下格式的模式太多:

AdsBaseSchema = new SimpleSchema({
  _parentId: {
    type: String,
    optional: true
  },
  title: {
    type: String,
    label: "Title",
    max: 200
  }
  description: {
    type: String,
    label: "Description",
    optional: true
  }
});

但它们不同的是某些领域。

我想用它们来插入自动表单。像这样:

{{> quickForm schema="AdsBaseSchema" id="insBaseAds" type="method" meteormethod="insBaseAds"}}

用这个方法:

insBaseAds: function(doc) {
    Ads.insert(doc);
    this.unblock();
}

这种方法可以正常工作!但这是我的问题:

我很难将这种方法用于我的所有模式!(正如我所说,因为我有太多架构)

我要问你:

流星是否可以使用类似下面的自动表单,并且对所有模式只使用一个自动表单(表单生成器)?

{{> quickForm collection="Ads" schema="AdsBaseSchema" id="insertAds" type="insert"}}

是否可以在 autoform 中同时使用“collection”和“schema”属性?

4

1 回答 1

0

我找到了解决这个问题的方法:

我可以尝试为我的模板编写一个帮助器,它动态地返回一个模式名称,如下所示:

{{> quickForm collection="Ads" schema=schema id="insertAds" type="insert"}}

帮手:

Template['myTemplate'].helpers({
 schema() {
 //Write your logic here
 return "adsBaseSchema";
 }
})

幸运的是它奏效了。

于 2016-03-03T11:14:48.573 回答