Meteor:在单击按钮时将列表项插入另一个集合的集合中?错误。内部服务器错误

时间:2016-06-29 18:19:02

标签: javascript meteor insert meteor-methods

我有一个名为类别的对象列表,其中包含其他对象的数组,这些对象属于该类别中的帖子,其中 id:129 类别ID ID:100 帖子ID 。看起来像这样

enter image description here

在我的html中,我在每个类别项目上都有一个按钮,单击该按钮时,它会获取该类别及其内容(帖子和其他数据)并将其插入到应该特定于用户的新集合中,喜欢书签。即tumblar,flipboard,google currents,zite如何为用户提供个性化内容,当您关注某个主题时,该主题中的帖子会反映您的个人信息流。

但我得到两个错误

我在Chrome控制台上

调用方法' addTimeline':内部服务器错误[500]

时出错

在我的终端我得到:

调用方法' addTimeline' ReferenceError:doc未定义

我的服务器js就像这样

Meteor.methods({
    'addTimeline': function(data){
        Timeline.insert(doc);
    }
});

我的客户端js看起来像这样

Timeline.allow({
  insert: function (userId) {
     return (userId);
  }
 });
Template.CategoriesMain.events({
  'click .addFav':  function() {
    Meteor.call('addTimeline');

  }
});

我的HTML看起来像这样

<template name="CategoriesMain">

<ul>
  {{#each articles}}
    <li>
      <a href="/catsingle/CategorySingle/{{_id}}"><h2>{{name}}</h2></a>
    </li>
    <button type="checked" name="button" class="addFav">add to fav</button>
  {{/each}}

事实是我对流星很新,所以我一直在试图破解和破碎,所以我不确定问题到底是什么,或者如何让它起作用。

1 个答案:

答案 0 :(得分:1)

我可以看到两个错误。

错误1

在方法addTimeline中,您使用变量doc,但您将参数命名为data

错误2

在您的点击事件处理程序中,您调用方法addTimeline,但您不会将任何参数传递给它(data参数将为undefined