1

这是我的简单模板:

<template name="feed">
  {{> crewChat}}

  {{> statusSubmit}}
  {{#each statuses}}
    {{> statusItem}}
  {{/each}} 
</template>

在我的 groupChat.html 和 groupChat.js 文件中:

<template name="crewChat">

  <div class="post-item">
    <div class="ui feed">
      {{#each messages}}
        {{> crewChatMessage}}
      {{/each}}
    </div>

  </div>

  <form class="new-message">
    <textarea id="message" name="content" rows="2"></textarea> 
    <div class="post-actions text-right">
      <input type="submit" value="Submit" class="compact tiny ui primary button">
    </div>
  </form>

</template>

Template.crewChat.events({
  'submit form': function(e) {
    e.preventDefault();

    var crewMessage = {
      content: e.target.content.value
    }

    Meteor.call('createCrewMessage', crewMessage, function(error, result) {
      if (error)
        return alert(error.reason);
      console.log("Create new crew message.");
      $(e.target.content).val("");
    });
  }
});

Template.crewChat.helpers({
  messages: function() {
    return CrewMessages.find({}, {sort: {submitted: -1}}); 
  }
});

当我提交一条新消息时,我可以看到它是使用 Mongol 添加的(并且在视觉上有一瞬间),但之后它立即被删除。

Meteor.methods({
  createCrewMessage: function(crewMessageAttributes) {
    var user = Meteor.user();
    var crewMessage = _.extend(crewMessageAttributes, {
      userId: user._id, 
      author: user.profile.firstName, 
      submitted: new Date()
    });
    var crewMessageId = CrewMessages.insert(crewMessage);
    return { _id: crewMessageId }; 
  }
});

任何想法为什么会发生这种情况?

4

1 回答 1

0

我忘记订阅我出版的收藏。

Meteor.subscribe('crewMessages');
于 2015-07-11T06:19:25.290 回答