2013-07-18 11 views
11

Jak zdefiniować funkcje/metodę instancji obiektów w żaglach?Jak zdefiniować metody instancji dla modeli z sails.js

W Wodnicy doc (https://github.com/balderdashy/waterline) mówią:

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

Ale gdy próbuję definiują metodę instancji w atrybuty w modelu w żagle, funkcja nie jest dodawany do obiektu. Czy robię coś nie tak?

Środowisko: Sails (v0.8.94), węzeł (v0.8.16)

+0

Występuje problem odpowiada to w żagle repo w github: https://github.com/balderdashy/sails/issues/578 – Adrien

Odpowiedz

14

Można zdefiniować metody przykład w modelach z żaglami 0.9.0 tak: np

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

Zastosowanie:

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

FYI: nadal działa w ten sposób w żagle 0.12.3 – Ultrasaurus

+0

Próba wykonania v1 powoduje: 'Błąd: funkcje nie są dozwolone, ponieważ usunięto atrybuty i metody instancji w modelach." –

Powiązane problemy