You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm using this package to insert a new document that I then want to edit immediately using x-editable in Meteor. It's basically an insert form, but you actually end up editing an inserted document with default values. So when a user hits a certain route, in the waitOn attribute the route calls a Meteor method to insert a new document with default values, it passes that document ID to the Session, and then in the data attribute I query for that document to pass to the template for editing.
I was getting a problem on the template page in that the editable() calls were running before the data was inserted into the template and thus all the x-editable fields were showing empty instead of being populated with the default values. To fix this I had to add an if(this.data()) check in the action attribute of the route. This makes sure the data is ready and then the x-editable fields all start with their appropriate default values. I thought you may want to add this to the documentation. I'm using Meteor 0.9.X
So my route looks like this:
this.route('displayDocument', {
path: '/displayDocument',
waitOn: function() {
// Insert a new document for them to edit using x-editable
Meteor.call('insertBlankDocument', function(error, success) {
if(error)
return alert(error.reason);
else {
if(success) {
Session.set("newDocumentId", success);
// Subscribe to document
Meteor.subscribe('documents', success);
return;
}
else
return alert("There was a Meteor Method problem on inserting a blank document.");
}
});
},
data: function() {
return newDocument = Documents.findOne(Session.get("newDocumentId"));
},
action: function() {
if(this.data())
this.render();
else
this.render('loading');
}
});
The text was updated successfully, but these errors were encountered:
I'm using this package to insert a new document that I then want to edit immediately using x-editable in Meteor. It's basically an insert form, but you actually end up editing an inserted document with default values. So when a user hits a certain route, in the
waitOn
attribute the route calls a Meteor method to insert a new document with default values, it passes that document ID to the Session, and then in thedata
attribute I query for that document to pass to the template for editing.I was getting a problem on the template page in that the
editable()
calls were running before the data was inserted into the template and thus all the x-editable fields were showingempty
instead of being populated with the default values. To fix this I had to add anif(this.data())
check in theaction
attribute of the route. This makes sure the data is ready and then the x-editable fields all start with their appropriate default values. I thought you may want to add this to the documentation. I'm using Meteor 0.9.XSo my route looks like this:
The text was updated successfully, but these errors were encountered: