【发布时间】:2014-12-06 08:19:29
【问题描述】:
试图理解 Meteor 中的 CRUD 并遇到一个基本问题,即当我删除自动发布并使用显式发布/订阅时,来自客户端的集合插入会更新服务器而不是客户端集合。
结果是,虽然正确获取了字段值,但在客户端插入失败。在服务器端,记录插入正确。
$meteor remove autopublish
创建 HTML 表单文件(它是有效的并按预期运行),然后:
文件 /server/publish.js:
Meteor.publish('todos'), function() {
return Todos.find();
}
文件 /lib/collections.js:
Todos = new Mongo.Collection('todos');
文件 /client/subscribe.js:
Meteor.subscribe('todos');
文件 /client/todos.js:
Template.todosList.helpers({
todosList: function() {
return Todos.find();
},
});
Template.todoNew.events({
'submit form': function(event) {
event.preventDefault();
var theRecord = {
description: $(event.target).find('[id=description]').val(),
priority: $(event.target).find('[id=priority]').val()
};
// Display correct field values, so form data is OK
console.log('Attemping to insert: ' + theRecord.description);
Todos.insert(theRecord, function(error) {
// This error always occurs
console.log('error inserting: ' + theRecord.description);
});
}
});
【问题讨论】:
标签: meteor