错误调用方法“addReservation”:内部服务器错误[500]
问题描述:
我有插入的数据收集问题,它说,在控制台:错误调用方法“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
});
}
})
答
你的服务器控制台说NewReservations
没有定义,这意味着你的服务器没有找到这个变量/数据库。我看到的唯一可能的问题是你没有在两个范围内定义数据库。我的意思是你可能只在客户端或服务器端定义了你的db
。
基本上你需要把Meteor.isClient
和Meteor.isServer
块
NewReservations = new Mongo.Collection('reserve');
之外。
尝试在插入之前在服务器上记录'title'。这是你期待的吗? – richsilv
您有范围问题。您的'NewReservations'集合似乎无法从方法主体访问。 –
[Meteor中的全局变量]的可能重复(http://*.com/questions/27509125/global-variables-in-meteor) –