Editing posts
So saving works. What about editing?
When we click on the Edit button in the post, we will be shown the editPost
template again. This time, however, the form fields are filled with the data from the post. So far so good, but if we press the Save button now, we will create another post instead of updating the current one.
Updating the current post
Since we set the data context of the editPost
template, we can simply use the presence of the post's _id
field as an indicator to update, instead of inserting the post data:
Template.editPost.events({ 'submit form': function(e, tmpl){ e.preventDefault(); var form = e.target, user = Meteor.user(), _this = this; // we need this to reference the slug in the callback // Edit the post if(this._id) { Posts.update(this._id, {$set: { title: form.title.value, description: form.description.value, text: form...