2016-04-02 39 views

cevap

4

Modelin güncellenmesiyle ne demek istediğinizden emin değilim. Bildiğim kadarıyla, genel model sınıfında update() işlevi yok. updateAttribute için arıyorsanız, o işlevsellikteki belgeler here'dur. Bununla birlikte, sorunuzun yalnızca "Geridönüş kancasının içindeki gözlenen modele nasıl erişebilirim?" Olduğunu varsayarak. Daha sonra cevap, örneğin, ctx değişkeninin kendisi olarak döndürülen yerine ctx.instance adresinde depolanır. Örnekler here'a bakın.

E.g. daha ayrıntılı olarak tarif Eğer

Model.observe('after save', function (ctx, next) { 
    ctx.instance.updateAttributes({someProperty: 'Foo'}) 
}); 

Eğer update() fonksiyonu ile ulaşmaya çalışıyor işlevselliği Bu soruya cevap çalışacağız. Yukarıdaki kodun büyük olasılıkla sonsuz bir döngü olmasına neden olacağını unutmayın; çünkü updateAttribute çağrısı 'kaydetmeden sonra' kancasını tetikler - bu da gerçekten sorduğunuz şeyin neden bu kadar emin olmadığının bir başka nedenidir.

+0

Sorumu düzenliyorum. evet, benim sorum hakkındaki varsayım doğrudur ve sonsuz döngü hakkındaki ipucunuz da doğrudur. sonsuz döngü problemini çözmek için 'kaydetme sonrası' tetiklemesini engellemenin herhangi bir yoludur? – viam

+0

@viam Peki, muhtemelen bir tasarım sorunu. Özellikle modeli güncellemek istediğiniz neden var? Gerçekleşmeden önce güncellemek yerine, kaydetmeden önce güncellemek istediğiniz mülkü güncelleyebilir misiniz? –

+0

Amacım, bir doküman sırasını, cevabınıza ulaşıldığı sırada güncellemekti. sonsuz döngü başka bir konudur. Tnx – viam