PDA

View Full Version : No direct function specified for this proxy



weksley
2 Mar 2012, 9:59 AM
here is the scenery.

I have tree file, index.html, model.js and form.js

My Ext.Loader is set correctlly in my index.html.
....
Ext.Loader.setConfig({
enabled: true,
paths: {
'Weks': 'js',
'Ext': '../includes/extjs4/src'
}
});

Ext.require([
'Weks.user_type.Model',
'Weks.user_type.Store',
'Weks.user_type.Form'
]);


Here is the source code in form.js

Ext.require(['Ext.data.Model','Weks.user_type.Model']);

Ext.direct.Manager.addProvider(Ext.app.REMOTING_API);

/*
if I define my model here then every thing works fine, but I like to have my model define in a separate file

Ext.define('Weks.user_type.Model', {...});//code copy from my model.js*/
Ext.define('Weks.user_type.Form', {
extend: 'Ext.form.Panel',
items: [{xtype: 'hiddenfield', name: 'id_user_type' },{fieldLabel: 'User Type',name: 'user_type',allowBlank:false }],
buttons: [{
text: 'Save',
handler: function(){
myform = this.up('form');

var record = Ext.create('Weks.user_type.Model',myform.getValues());
myStore.insert(0, record);
myStore.save();
}
}]
});

//I get a error

//[E] No direct function specified for this proxy

Why does this problem not happen when I define my model in form.js? Is the Loader not working properly?

mitchellsimoens
2 Mar 2012, 11:58 AM
You need to realize that it takes time for your direct provider to return and get registered so if you have a function as a property, it's going to look for that function right away.

It would be best if you created the proxy in the constructor.