0

と の 2 つのメソッドを持つコントローラーがaありbます。メソッドaは variable を初期化しますvar。ブラウザーのタブを開き、メソッドを呼び出しますa。別のタブを開いた後、b読み取るメソッドを呼び出すvarと、nil.

コンソールを調べたところ、idmethod を呼び出すときのコントローラー オブジェクトの が異なることに非常に驚きましたb

varメソッド内の変数にアクセスできる同じコントローラー インスタンスではないbでしょうか。

4

1 に答える 1

0

Rails は、リクエストごとに新しいコントローラー インスタンスを作成します。ドキュメントから:

アプリケーションがリクエストを受け取ると、ルーティングによって実行するコントローラーとアクションが決定され、Rails はそのコントローラーのインスタンスを作成し、アクションと同じ名前のメソッドを実行します。

何を達成しようとしていますか?

于 2012-07-06T12:13:04.613 に答える