请求Meteor + autoform示例

时间:2015-02-17 03:37:29

标签: javascript node.js meteor

autoform docs中,有许多代码段,但我无法使其中任何一个工作。主要是因为autoform,meteor,最后JS对我来说都是新手。

但是,我擅长调整示例,但找不到任何简单的示例。 This is one我挣扎着。我可以使用集合获得一个简单的autoform(或quickform)的完整示例吗?

  1. 假设我已经aldeed:autoform和aldeed:collection2已安装。
  2. 假设我的文件分为

    • 两者/ testform.js
    • 服务器/ testform.js
    • 的客户机/ testform.js
    • 客户机/ testform.js?
  3. 让我说我正在使用一个名为“testTemplate”的模板和一个名为“testCollection”的集合

  4. 感谢您的帮助。

1 个答案:

答案 0 :(得分:7)

我会尽力做到。

首先创建项目并删除autopublish and insecure

/server/testform.js的第二个问题。

TestCollection.allow({
  insert:function(){return true;},
  remove:function(){return true;},
  update:function(){return true;},
})

publish函数

Meteor.publish("TestCollection", function () {
  return TestCollection.find();
});

有关allow / deny规则的更多信息

而不是/both/testform.js,根据Meteor最佳实践将集合声明放在/lib/testform.js中,以确保首先评估它。

TestCollection = new Mongo.Collection("TestCollection");

subscription

if(Meteor.isClient){
     Meteor.subscribe('TestCollection')
}

现在/client/testform.html

把这个。

<template name="testForm">
  {{> quickForm collection="TestCollection" id="insertTestForm" type="insert"}} 
</template>

现在在/client/testform.js上放置架构

TestCollection.attachSchema(new SimpleSchema({ //take this from docs.
  title: {
    type: String,
    label: "Title",
    max: 200
  },
  author: {
    type: String,
    label: "Author"
  },
  copies: {
    type: Number,
    label: "Number of copies",
    min: 0
  },
  lastCheckedOut: {
    type: Date,
    label: "Last date this book was checked out",
    optional: true
  },
  summary: {
    type: String,
    label: "Brief summary",
    optional: true,
    max: 1000
  }
})); 

注意

如果您是Meteor / Javascript的新手,请不要跳到复杂的软件包中。

运行它,看看它们是如何工作的。

meteor create --example todos 
meteor create --example local market

或查看the meteor tutorial

对于 Javascript ,本教程/指南对我有很大帮助How to Learn Javascript properly