私はSails.jsを学び始めています。セッション変数からモデルのデフォルト値を設定する簡単な方法があるかどうかを知りたいのですか?私はWaterlockを使用して、認証を行い、req.session.user_id
のようなセッション変数に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)...
の場合、エイリアスがnull/undefinedの場合、alias = defaultsTo.call(values)
がエイリアスの値を取得するために使用されます。
req.session.user_id
を使用するには、作成時にそれを含める必要があります。 Model.create({session: req.session,...})
。私はウォーターロックを使用しないので、実際にはわかりません。そして、これが最善の方法だとは思わない。
私の経験からこれらの余分な値は、帆-mysqlのなどのアダプタを使用する際に無視されていますが、開発のための帆ディスクを使用している場合は、これらの余分な値が永続化されていることを表示される場合があります。保持する前に削除することをお勧めします。
beforeCreate: function(values, cb){
delete values['session'];
cb();
}
関連する問題
- 1. シナリオによってデフォルトのモデル値を設定する
- 2. Sails.jsに問題を設定する
- 3. 設定デフォルト値
- 4. デフォルト値をテキストエリアに設定する(AngularJS)
- 5. sails.jsでhttpsを設定する方法
- 6. 設定のデフォルト値
- 7. 設定デフォルト値8
- 8. 設定のデフォルト値
- 9. 設定のデフォルト値
- 10. 設定のデフォルト値は値
- 11. Sails.jsモデルupdatedAt(updated_atの)
- 12. NSStringプロパティのデフォルト値を設定する
- 13. 検証のデフォルト値を設定する
- 14. クラスプロパティのデフォルト値を設定する
- 15. nhibernate-mappingのデフォルト値を設定する
- 16. filtertoolbarのデフォルト値を設定する
- 17. ASP.NETコントロールのデフォルト値を設定する
- 18. MatButtonToggleGroupディレクティブのデフォルト値を設定する
- 19. ジェネリックのデフォルト値を設定する
- 20. オプションドロップダウンのデフォルト値を設定する
- 21. ComboBoxのデフォルト値を設定する
- 22. Railsセレクトヘルパーブロックのデフォルト値を設定する
- 23. ドロップダウンのデフォルト値を設定する
- 24. sharedpreferencesのデフォルト値を設定する
- 25. dojo filteringselectでデフォルト値を設定する
- 26. LightSwitchのデフォルト値を設定する
- 27. カスタムプロパティのデフォルト値を設定する
- 28. JAXBのデフォルト値を設定する
- 29. デフォルト値を設定する角度2
- 30. ttk Comboboxのデフォルト値を設定する