2017-09-18 66 views
0

我想設置值對象的值,但帆忽略它。Sailsjs beforeCreate不向值對象添加新值

attributes: { 

    title: { 
     type: 'string', 
     required: true 
    }, 
    testAttr: { 
     type: 'integer' 
    } 
} 


beforeCreate: function (values, cb) { 

    values.testAttr = 1; 

    cb(); 
}, 

我的值對象不包含一個testAttr值,當它進入beforeCreate方法,因爲這值不經由請求發送。

它可能看起來像不會添加/更新,除非它出現在值對象開始。

這樣做的正確方法是什麼?

+0

你使用的是什麼版本的Sails? – sgress454

+0

我們使用的版本0.12.11 – ChrisWorks

+0

嗯,我無法在Sails v0.12.11上重現此操作。我嘗試了sails-disk和sails-postgresql適配器。 – sgress454

回答

0

我認爲你幾乎沒錯。回調cb需要兩個參數:一個錯誤和一個值散列。你只需要傳遞你的值:

beforeCreate: function (values, cb) { 
    values.testAttr = 1; 
    cb(null, values); 
}, 
+0

感謝您的回覆,但實際上並未根據文檔[鏈接](http://sailsjs.com/documentation/concepts/models-and-orm/lifecycle-callbacks)。我也嘗試了你的建議,但沒有奏效。在設置testAttr屬性後,我也嘗試打印整個值對象,但它不在那裏 - 完全忽略它。 – ChrisWorks