2015-04-08 10 views
5

का विस्तार करने का सबसे आसान तरीका मैं एक एपीआई बनाने के लिए लूपबैक का उपयोग कर रहा हूं। दस्तावेज आमतौर पर वास्तव में अच्छा होता है लेकिन वास्तव में निम्नलिखित के बारे में मेरे प्रश्न का उत्तर नहीं देता है: मैं कैसे निर्मित मॉडल में (प्रतिस्थापित नहीं) का विस्तार करूं?लूपबैक - एक अंतर्निहित मॉडल

जानकारी का सबसे आशाजनक टुकड़ा this page से आया - यह विरासत के माध्यम से किसी अन्य वर्ग से कक्षा को आधार देने का तरीका निर्दिष्ट करता है। यह उपयोगी है लेकिन आदर्श नहीं है - मैं स्टॉक मॉडल से कस्टम मॉडल के संबंध बनाना चाहता हूं, उदाहरण के लिए - "भूमिका" में कई "अनुमति" होनी चाहिए।

जो पृष्ठ मैं उल्लेख करता हूं वह एक जावास्क्रिप्ट फ़ाइल भी दिखाता है, जो common/models/<modelName>.js पर स्थित है, जहां यह कहता है कि आप गुणों और विकल्पों के आधार पर मॉडल को "विस्तारित" कर सकते हैं। सर्वर कभी नहीं फ़ाइल हिट करने के लिए ... उदाहरण के लिए लगता है - मैं निम्नलिखित सामग्री के साथ common/models/role.js में एक फ़ाइल डाल:

var properties = { 
    exampleProperty: {type: String, required: true} 
}; 


var user = loopback.Model.extend('Role', properties); 
console.log('test'); 

सबसे पहले, यह सब पर फ़ाइल हिट करने के लिए नहीं लगता है (कोई console.log उत्पादन दिया हुआ)। दूसरा, स्पष्ट रूप से पहली बिंदु के कारण, यह मेरे द्वारा बनाए गए गुणों के साथ मॉडल का विस्तार नहीं करता है।

क्या मुझे कुछ स्पष्ट याद आ रहा है या दस्तावेज सिर्फ सादा गलत है?

+1

यहां एक ही समस्या देखें। बिल्ट मॉडल के विस्तार को समझाने के दौरान दस्तावेज़ों को अपूर्ण लगता है - ऐसा लगता है कि आप विस्तार कर सकते हैं, लेकिन आप की तरह, मैंने पाया कि उदाहरण के लिए, user.json/.js एक विकल्प नहीं है। क्या आपने यहां सुझाए गए विरासत को आजमाया है? मुझे चिंता है कि यह टोकन तक पहुंच जाएगा या आम तौर पर और अधिक समस्याएं पैदा करेगा। –

+0

हाय वहाँ, हाँ विरासत जाने का रास्ता है। यदि आप बेस 'यूजर' क्लास का विस्तार करते हैं तो आपको वही विधियां मिलेंगी और किसी भी तरह से यह आपके लिए एक्सेस टूटे सामान भी बताएगी। – freshnode

उत्तर

3

आपको slc loopback:model नाम user के माध्यम से एक नया मॉडल उत्पन्न करना चाहिए। डिफ़ॉल्ट रूप से, निर्मित उपयोगकर्ता को User नाम दिया गया है, यही कारण है कि यदि आप चाहें तो लोअरकेस user या यहां तक ​​कि UserModel का उपयोग कर सकते हैं। फिर जब आपको बेस मॉडल के लिए मॉडल जेनरेटर द्वारा संकेत दिया जाता है, तो User चुनें। https://github.com/strongloop/loopback-faq-user-management/blob/master/common/models/user.json#L3

+0

धन्यवाद, मुझे लगता है कि प्रलेखन थोड़ा भ्रामक है। मैं मूल मॉडल में नए गुण और संबंध जोड़ना चाहता था, लेकिन मुझे लगता है कि यह सबसे अच्छा तरीका नहीं है। – freshnode

+0

हां, अंतर्निर्मित मॉडल का विस्तार करना और फिर अपनी संपत्तियों और संबंधों को जोड़ना निश्चित रूप से जाने का तरीका है। – superkhau

संबंधित मुद्दे