1

FacebookAPIの実装についてRailsCastをフォローしています。Userモデルには、次のメソッドがあります。

  def facebook
     @facebook ||= Koala::Facebook::API.new(oauth_token)

これにより、ユーザーモデル内の他のメソッドと共有できるインスタンス変数が作成されます。

私の質問は:

Railsアプリにオンラインで100人のユーザーがいる場合、それぞれが1つのインスタンスを作成します@facebookが、Railsはどの@facebookユーザーがユーザーに関連付けられているかをどのように認識しますか?

4

2 に答える 2

1

インスタンス変数は、それらが属するオブジェクトのインスタンスに関連付けられています。

Userユーザーは、セッションまたは特定のリクエストに関連付けられているため、自分のインスタンスを操作します。リクエストは、コントローラーのリクエスト固有のインスタンスを使用して処理されます。コントローラーは、の特定のインスタンスUser、つまり@facebook値を処理します。

于 2013-03-06T22:10:25.997 に答える
1

そうではありません。Webアプリには「オンライン」のようなものはなく、リンクをクリックするたびにリクエストが送信されます。そのリクエストに対して、投稿したコードの実行を含め、すべてのクラスがインスタンス化されます。

リクエストが完了すると、それらのクラスは破棄されます。

于 2013-03-06T22:09:30.953 に答える