2013-07-18 7 views
11

मैं सेल में ऑब्जेक्ट्स के लिए फ़ंक्शंस/इंस्टेंस विधि कैसे परिभाषित कर सकता हूं?sails.js के साथ मॉडलों के लिए उदाहरण विधियों को परिभाषित करने के लिए कैसे करें

Waterline दस्तावेज़ में (https://github.com/balderdashy/waterline) वे कहते हैं:

var User = Waterline.Collection.extend({ 
... 
    attributes: { 
    ... 
    // You can also define instance methods here 
    fullName: function() { 
     return this.firstName + ' ' + this.lastName 
    } 
    }, 
} 

लेकिन जब मैं में एक उदाहरण विधि परिभाषित करते हैं कोशिश पाल में एक मॉडल में गुण, समारोह वस्तु में नहीं जोड़ा जाता। क्या मैं कुछ गलत कर रहा हूं?

पर्यावरण: पाल (v0.8.94), नोड (v0.8.16)

+0

एक मुद्दा GitHub में पाल रेपो में यह करने के लिए इसी है: https://github.com/balderdashy/sails/issues/578 – Adrien

उत्तर

14

आप पाल 0.9.0 इस तरह के साथ मॉडल में उदाहरण के तरीकों को परिभाषित कर सकते हैं:

module.exports = { 
    attributes: {  
    name: { 
     type: 'STRING', 
     defaultsTo: 'zooname' 
    }, 
    instanceMethod: function(){ 
     // your code 
    } 
    } 
}; 

प्रयोग उदाहरण:

ClientHit.findOne({}).exec(function(err, model){ 
    model.instanceMethod(); //use your instance method 
}); 
+0

FYI करें: अभी भी पाल में इस तरह से काम करता है 0.12.3 – Ultrasaurus

+0

v1 के साथ इसे आज़माकर उत्पन्न करता है: 'त्रुटि: गुणों के रूप में फ़ंक्शंस की अनुमति नहीं है और मॉडल पर इंस्टेंस विधियों को हटा दिया गया है।' –

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