0

コントローラーの親クラスにメソッドがあります。ほとんどのメソッドで before_filter (require_user) として使用されますが、helper_method のように呼び出す必要があります。そうすると、メソッドはすぐには呼び出されず、非同期で呼び出されます。

なぜこれが起こっているのかわかりません。

コントローラーのサンプルコードと実際のセッションからのエラーメッセージはこちらhttps://gist.github.com/3187671

どんな助けでも大歓迎です。ありがとう!

編集:この投稿を見つけたところ、機能しないことが説明されています。ただし、ヘルパーを非同期で呼び出す理由については説明していませんhttp://www.markhneedham.com/blog/2011/01/11/rails-using-helpers-inside-a-controller/

4

1 に答える 1

0

redirect_toまたはrenderメソッドは、メソッドの実行を停止しません。それらの 1 つだけが呼び出されることを確認する必要がある場合 (そうしないと、Rails は DoubleRenderError をスローします。ガイド 2.2.13を参照してください)。それがあなたのコードの問題であり、redirect_toによって呼び出されrequire_userrender次に呼び出されます。

于 2012-07-27T13:21:44.650 に答える