2016-01-20 129 views
1

我有插入的數據收集問題,它說,在控制檯:錯誤調用方法「addReservation」:內部服務器錯誤[500] 這是我的預約模板:錯誤調用方法「addReservation」:內部服務器錯誤[500]

<template name="reservations"> 
    <div class="container-fluid registration-form"> 
     <form class="new-reservation"> 
      <div class="row"> 
       <input type="text" name="title"/> 
</div> 
      <button type="submit" class="btn btn-success">Add reservation</button> 
     </form> 
     <div class="row"> 
      <div class="col-md-6"> 
       <ul class="list-inline"> 
        {{ #each reserve}} 
        {{ >reservationForm }} 
        {{/each}} 
       </ul> 
      </div> 
     </div> 
    </div> 
<template name="reservationForm"> 
    <li>{{title}}</li> 
</template> 

這是js文件:

NewReservations = new Mongo.Collection('reserve'); 
在isClient

Template.reservations.helpers({ 
     reserve: function(){ 
      return NewReservations.find(); 
     } 
    }); 

    Template.reservations.events({ 
     'submit .new-reservation': function(event){ 
      var title = event.target.title.value; 
      Meteor.call("addReservation", title); 
      event.target.title.value = ""; 
      return false; 
     } 
    }) 

這是isServer

Meteor.methods({ 
     addReservation: function(title){ 
      NewReservations.insert({ 
       title: title 
      }); 
     } 
    }) 

我刪除不安全和自動發佈。 enter image description here

+0

嘗試在插入之前在服務器上記錄'title'。這是你期待的嗎? – richsilv

+0

您有範圍問題。您的'NewReservations'集合似乎無法從方法主體訪問。 –

+0

[Meteor中的全局變量]的可能重複(http://stackoverflow.com/questions/27509125/global-variables-in-meteor) –

回答

1

你的服務器控制檯說NewReservations沒有定義,這意味着你的服務器沒有找到這個變量/數據庫。我看到的唯一可能的問題是你沒有在兩個範圍內定義數據庫。我的意思是你可能只在客戶端或服務器端定義了你的db

基本上你需要把Meteor.isClientMeteor.isServer

NewReservations = new Mongo.Collection('reserve'); 

之外。