我開始學習Sails.js,我想知道是否有更簡單的方法從會話變量設置模型中的默認值?我正在使用Waterlock進行身份驗證,並將會話變量user_id設置爲req.session.user_id
。我有一個消息模型,我想默認'from'
字段到這個會話變量。有沒有辦法在Sails.js中做到這一點?將默認值設置爲模型(Sails.js)
0
A
回答
0
如果您正在使用賽歐的默認ORM,水線,那麼模型的屬性有defaultsTo選項。提供的值可能是一個函數。您可以查看waterline documentation。
標本模型
module.exports = {
attributes: {
description: {
type: 'string',
defaultsTo: 'No description.'
},
email: {
type: 'email',
required: true,
unique: true
},
alias: {
type: 'string',
defaultsTo: function(){
return this.email;
}
},
}
};
如果所提供的值是一個函數,則該函數調用被綁定到的值中創建。
對於Model.create(values)...
,如果別名爲空/未定義,則alias = defaultsTo.call(values)
用於獲取別名的值。
所以要使用req.session.user_id
您可能需要在創建過程中包含它。 Model.create({session: req.session,...})
。我不太確定,因爲我沒有使用Waterlock。我並不認爲這不是最好的辦法。
從我的經驗,這些額外的值當使用適配器,例如帆-mysql的,但如果你正在使用帆盤進行開發,那麼你可能會看到,這些額外的值持續忽略。在持續之前,您可能需要刪除它們。
beforeCreate: function(values, cb){
delete values['session'];
cb();
}
相關問題
- 1. 類模型 - 設置默認值
- 2. 在MVC3模型設置的默認值
- 3. 將值設置爲默認值
- 4. 在實體模型中爲類型時間設置默認值
- 5. 將默認值設置爲模式已具有默認值的字段
- 6. 將ExtentTest的默認值設置爲FAILED
- 7. 如何將form2設置爲默認值?
- 8. JavaScript:將變量設置爲默認值?
- 9. 將VCProject屬性設置爲默認值
- 10. Sass:將默認值設置爲變量
- 11. 將默認值設置爲textarea(AngularJS)
- 12. 將SharedPreferences(不DefaultSharedPreferences)設置爲默認值
- 13. 如何將https設置爲默認值?
- 14. 將document.title設置爲默認
- 15. Rails - 爲嵌套模型屬性設置默認值
- 16. 如何在Django中爲模型設置默認值?
- 17. 使用實體框架4.3爲模型設置默認值
- 18. 設置今天的日期作爲模型中的默認值
- 19. Yii2:爲模型的所有字段設置默認值
- 20. 無法將默認布爾參數設置爲默認值
- 21. 將默認順序設置爲CakePHP 3.x模型
- 22. 將BOOL類型的默認值設置爲YES
- 23. 如何將默認參數值設置爲BigInteger類型?
- 24. Django - 如何將模型字段重置爲默認值?
- 25. 設置默認值
- 26. 設置默認值
- 27. 設置默認值
- 28. 設置默認值
- 29. 設置默認值
- 30. 設置默認值