2016-09-14 16 views
1

私はアプリケーションをSailsで実行していますが、POST、GET、PUT、DELETEの青写真をたくさん使っています。Sails JS自動ルートPOSTの後にアクションをトリガーする方法

ここでは、デフォルトの青写真がトリガーされた後にアクションをトリガーしたいと思います。たとえば、example.com/userにリクエストしてPOSTで送信した場合、青写真のルートがDBに情報を挿入してから別のアクションを実行したいのですが、どうすればいいですか?青写真(これは素晴らしい)を使用してから、何か他のアクションを引き起こしてから、戻ってください。

私は自分のルートを使うことができると知っていますが、セイルズが自動的に行うことを使いたいので、そのポストのルートを追加してすべてを自分で行うのではなく、 else。

ありがとうございます!

+0

あなたが計画していることについて詳しく説明するために少しのコードを共有できますか? – gnerkus

答えて

1

ここでは、デフォルトの青写真が がトリガーされた後にアクションをトリガーしたいと思います。たとえば、example.com/userに依頼してPOSTで を送信した場合、ブループリントルートがDBに情報を挿入して してから、何か他の処理を実行したいのですが、どうすればいいですか?

Lifecycle callbacksは、この種の問題を解決するように設計されています。これらは、特定のモデルアクションの前または後に自動的に呼び出される関数です。例えば。 using afterUpdate

module.exports = { 
    attributes: { 
    username: { 
     type: 'string', 
     required: true 
    }, 
    password: { 
     type: 'string', 
     minLength: 6, 
     required: true, 
     columnName: 'hashed_password' 
    } 
    }, 
    // Lifecycle Callbacks 
    afterUpdate: function (values, cb) { 
     // notify user about updated profile 
    } 
}; 

あなたがそう

update: function(req, res) { 
    User.update(req.body).exec(function(err, result){ 
    if (err) { 
     // ups 
    } 
    return res.redirect('/something-after') 
    }); 
} 

ようなモデルのアクションを作成する必要がありますそして、あなたは単にそれにリダイレクトすることで、別のアクションを呼び出すことができ、より多くの柔軟性を必要としています。

+0

これは私が今まで質問に頂いた最高の回答の一つです。ありがとうございます!ライフサイクルコールバックはまさに​​私が探していたものです。 –

関連する問題