【问题标题】:sails.js - how can I acess session data in Model hook beforeCreatesails.js - 如何在模型钩子 beforeCreate 中访问会话数据
【发布时间】:2014-01-26 04:42:07
【问题描述】:

我想更新模型的字段“所有者”。需要从包含当前登录并正在创建模型的用户的会话中获取所有者。

我想要这样的东西:

Model = {

  attributes: {

  },

  beforeCreate(values,next)
  {
    var owner_user_id  = req.session.user_id;
    values.owner = owner_user_id;
    next();
  }
}

【问题讨论】:

    标签: node.js model-view-controller orm sails.js waterline


    【解决方案1】:

    您确定生命周期回调是执行此操作的正确位置吗?因为真的不是。如果明天您需要在 CLI 任务或其他无会话的任务中使用您的模型怎么办?此外,随着关联 API 的出现,可能会有一种更优雅的方式来实现它,但仍然在模型之外。所以,现在我只是将您的引用视为一个简单的值,将其设置在操作中(您可以从中访问req.session)并与其他属性一起传递给构造函数,例如:

    ...
    // Controller code
    module.exports = {
      index: function(req, res) {
        // Whatever gets you the values...
    
        values.owner = req.session.user_id;
        Model.create(values, function(err, model) {...});
      },
      // Other actions
    }
    ...
    

    【讨论】:

      猜你喜欢
      • 2015-01-26
      • 1970-01-01
      • 1970-01-01
      • 2015-10-04
      • 2014-05-16
      • 1970-01-01
      • 2015-02-27
      • 1970-01-01
      • 2020-06-06
      相关资源
      最近更新 更多