2012-04-16 4 views
0

私はコントローラといくつかのアクションを持っています。あたかも私がポストパラメーターでこのアクションを呼び出すかのように、別のコントローラーからこれらのアクションをメソッドとして呼び出すことができますか?別のコントローラーのPOST-paramsでコントローラーアクションをメソッドとして呼び出すことはできますか?

私はgrails paypalプラグインを使用しています。「buy」というアクションがあります。私は、ユーザが製品データと情報を購入行動にPOSTすることを望んでいません。私はすでにユーザーが購入したいことを知っています。私は通常の方法を呼び出してから、ユーザーをpaypalにリダイレクトしたいので、私のコントローラー内でbuy-actionを呼びたいと思っています。

私はgrails 2.0と最新のpaypalプラグインを使用しています。

答えて

0

chain(...)を使用するとよいでしょう。

チェーン:

が暗黙的 は別のアクションからHTTPリダイレクト以下のモデルを保持するために、フラッシュストレージを使用します。

+1

モデルを保存する必要がない場合は、別のHTTPラウンドトリップを実行するのではなく内部的にリダイレクトするので、 'chain'ではなく' forward'を使用します。 – ataylor

+0

はい、転送は次のステップです:-) –

+0

私はこれのようなことをすることができますか? PayPalController.buy(params)? – whitenexx

1

いいえできません。アクションAからアクションBに連鎖することができます。 これはメソッドとして呼び出すのではなく、アクションBにコールをリダイレクトします。アクションAのスコープにはなりません。

あなたの行動はserviceに実装できますか?コントローラの動作から好きなように呼び出すことができます

0

私の知る限り、あなたは他のコントローラに属する別のアクションにリダイレクトできます。

リダイレクト方法を使用できます。

+0

あなたはその処理にリダイレクトすることができます。その処理から再度リダイレクトすることができます。 – sanghavi7

関連する問題