2016-04-02 65 views
2

我想更新「後保存」鉤最後插入/更新的文件(行)沒有建立的,像這樣新的實例:迴環更新模型後保存

Model.observe('after save', function (ctx, next) { 
    ctx.someProperty = 'Foo'; 
    ctx.update(); 
}); 

怎麼可能呢?

回答

4

我不確定'更新'模型是什麼意思。據我所知,通用模型類沒有update()函數。如果您正在尋找updateAttribute那麼該功能的文檔是here

但是,假設您的問題只是「如何訪問觀察模型內部的迴環掛鉤?」那麼答案就是實例存儲在ctx.instance而不是返回爲ctx變量本身。參見示例here

E.g.

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

如果你能更詳細地描述你想實現與update()功能的功能,我將盡力解決這個問題。 還要注意,上面的代碼可能會導致無限循環 - 因爲updateAttribute調用本身會觸發'after save'鉤子 - 這是我不確定你真正要求的另一個原因。

+0

我編輯我的問題。是的,你對我的問題的假設是真實的,你對無限循環的暗示也是真實的。是否有任何方法來防止調用'保存'觸發器來解決無限循環問題? – viam

+0

@viam好吧,這可能是一個設計問題。爲什麼特意要更新模型?您能否在保存之前更新您要更新的屬性,而不是在事後更新? –

+0

我的目的是更新一個文件行,它的答案已經達到。無限循環是另一個問題。 Tnx – viam