2015-08-31 31 views
0

我创建了一个集合,其中包含两个物品(使用命令控制台输入),现在正在开发一种将应用程序中的新物品输入集合的方法。流星将物品插入集合不起作用

当我输入一个新名字并点击[回车]日志会显示表单已经提交,并且该事件已经接受了船上的输入,但实际的集合在两个项目中保持不变。

鉴于日志中显示该事件读取表单输入正确,我怀疑问题是Blogs.insert位之内,但我只是不知道什么是错的。

HTML:

<form class="newblog"> 
    <input type="text" name="blogname" placeholder="New Blog Name"/> 
</form> 

JS:

Blogs = new Mongo.Collection("blogs"); 

//...irrelevant stuff for the rest of the app... 

Template.blogroll.events({ 
    "submit .newblog": function (event) { 
     // prevent browser default behaviour 
     event.preventDefault(); 

     // log input 
     console.log(event); 

     // get value from form element 
     var blog_to_enter = event.target.blogname.value; 

     // insert a blog into the collection 
     Blogs.insert({ 
      blog: blog_to_enter, 
      created: new Date() 
     }); 

     // clear form 
     event.target.blogname.value = ""; 
    } 
}); 
+0

您是否看到任何错误? – PhilippSpo

回答

2

看到这个meteorpad一个例子。 也许你已经定义了一些允许/拒绝规则来拒绝插入博客,或者你忘记订阅博客集合?

+0

谢谢,移动模板内部的窗体和结构是一种享受。还有一个额外的感谢,向我介绍meteorpad - 看起来非常有用的工具。 如果我可以两次投票,我会。 –

+0

哈哈,不客气;-) – PhilippSpo

0

不要定义了var blog_to_enter = event.target.blogname.value; 相反的:

Blogs.insert({ 
      blog: blog_to_enter, 
      created: new Date() 
     }); 

使用 “BLOGNAME”:

​​

应该工作的方式

+0

唉,问题依然存在。 –

+0

你确定它是在“blogroll”吗? Template.blogroll? –