-
4 Dec 2012 12:45 AM #1
Unanswered: Model with persist: false. Store saves anyway
Unanswered: Model with persist: false. Store saves anyway
Hello,
I've setup a "Tasklist" model, which has many tasks. On initialization, the tasklist counts all overdue tasks and updates a field. Since that field is only needed locally, it is set as persist: false. However, when using this model in a store, the store.sync() method saves it anyway, even if the that field is the only modified field.
Here's my model:
What I'm doing wrong?Code:Ext.define('Tasklist', { extend: 'Ext.data.Model', config: { fields: [ { name: 'id', type: 'int' }, { name: 'overdue-tasks', type: 'int', persist: false } ] }, init: function() { // Update overdue tasks count var count = 0; var now = new Date(); var tasks = this.tasks(); // HasMany association, omitted in this example tasks.each(function(record){ var dueDate = record.get('due-date'); if (dueDate && dueDate.getTime() < now.getTime()) count++; }); this.set('overdue-tasks', count); } });
-
5 Dec 2012 12:40 PM #2Sencha - Senior Forum Manager
- Join Date
- Mar 2007
- Location
- St. Louis, MO
- Posts
- 34,117
- Vote Rating
- 453
- Answers
- 3160
With 2.1.0, this code:
it doesn't send the foo field in the sync request.Code:Ext.define('MyModel', { extend : 'Ext.data.Model', config : { fields : [ { name : 'foo', persist : false } ] } }); new Ext.data.Store({ autoLoad : true, model : 'MyModel', proxy : { type : 'ajax', url : 'data/json.json' }, listeners : { load : function (store, recs) { recs[0].set('foo', 'other'); store.sync(); } } });Mitchell Simoens @SenchaMitch
Sencha Inc, Senior Forum Manager
________________
http://www.JSONPLint.com - Source to lint your JSONP!
Check out my GitHub, lots of nice things for Ext JS 4 and Sencha Touch 2
https://github.com/mitchellsimoens
Think my support is good? Get more personalized support via a support subscription. https://www.sencha.com/store/
Need more help with your app? Hire Sencha Services services@sencha.com
Want to learn Sencha Touch 2? Check out Sencha Touch in Action that is almost in print!
When posting code, please use BBCode's CODE tags.


Reply With Quote