मैंने loopback offline sync उदाहरण का पालन किया है और एम्बेडेड दस्तावेज़ के साथ अपना खुद का मॉडल बना दिया है। मैंने प्रोजेक्ट नामक मॉडल बनाया जहां ProjectMembers एम्बेडेड मॉडल हैं।
Project.jsonलूपबैक: एंबेडेड मॉडल ऑफ़लाइन सिंक में काम नहीं कर रहा है
{
"name": "Project",
"base": "PersistedModel",
"strict": "throw",
"persistUndefinedAsNull": true,
"trackChanges": true,
"properties": {
...
},
"relations": {
"members": {
"type": "embedsMany",
"model": "ProjectMember",
"property": "members",
"options": {
"validate": true,
"forceId": false
}
}
}
}
ProjectMember.json
{
"name": "ProjectMember",
"base": "Model",
"idInjection": true,
"properties": {
...
},
"validations": [],
"relations": {},
"acls": [],
"methods": []
}
सर्वर साइड मॉडल-config.json में मैं नीचे के रूप में डेटा स्रोत अद्यतन:
"Project": {
"dataSource": "my_db"
},
"ProjectMember": {
"dataSource": "transient"
}
यहाँ मेरी मॉडल हैं और क्लाइंट साइड में lbclient/models/I में 2 फाइलें स्थानीय-प्रोजेक्ट.जेसन और रिमोट-प्रोजेक्ट.जेसन को स्थानीय-todo.json और दूरस्थ-todo.json के समान ही जोड़ती हैं।
"RemoteProject": {
"dataSource": "remote"
},
"LocalProject": {
"dataSource": "local"
}
ग्राहक नियंत्रक मैं निम्नलिखित कोड चलाने में: मैं नीचे के रूप में ग्राहक के पक्ष मॉडल-config.json फ़ाइल अद्यतन
ProjectModel.create($scope.project)
.then(function(project) {
var owner = loginDetails.getLoginUser();// the member
owner.role = 'owner';
owner.status = 'active';
project.members.create(owner); //shows error: couldn't read property
$scope.project = {};
$scope.$apply();
});
यह परियोजना बनाता है लेकिन एम्बेडेड मॉडल बनाने में विफल । यह प्रदर्शित करता है "संपत्ति को अपरिभाषित नहीं पढ़ा जा सका"? क्लाइंट साइड में एम्बेडेड मॉडल बनाने का कोई तरीका है?
अद्यतन
एम्बेडेड मॉडल केवल सर्वर की तरफ काम करता है। लेकिन जब ब्राउजनाइजेशन ब्राउज़.बंडल.जेएस बनाता है, तो यह एम्बेडेड मॉडल को जोड़ने में विफल रहता है।
क्या आप "त्रुटि को पढ़ा नहीं जा सका" के लिए त्रुटि लॉग साझा कर सकते हैं? –
यहां त्रुटि लॉग है: असीमित (वादे में) TypeError: अपरिभाषित की संपत्ति 'बनाना' नहीं पढ़ सकता – nutboltu