2011-12-20 15 views
0

私は/私/ firstMethodで、私は、メソッドが呼び出されると、ページがレンダリングされますが、「@objを置く設定クラス変数

<%= link_to "Likes","/my/secondMethod" %> 

を持つコントローラクラスに

class MyController < ApplicationController 

    def firstMethod 
     @obj = #get friends list from FB 
    end 

    def secondMethod 
    puts @obj 
    end 
end 

を持っています"空白を表示します。

before_filterを使用していますが、その高価な操作は友人のリストを1回だけ取得したいからです。

任意のポインタ?

Harshit

+0

クラス変数( '@@ obj')を使用できますが、パフォーマンスのボトルネックであることをプロファイリングで確認していない場合は、** before_filter **を使用してください。また、Railsには[キャッシュ](http://guides.rubyonrails.org/caching_with_rails.html)があり、これはあなたの友人リストよりも多くのキャッシュを可能にします。また、開発モードでは、リクエストごとにコントローラがリロードされるので、キャッシュとして '@@ obj'しか使用できないことに注意してください。 –

+0

@Niklasクラス変数は1回のリクエストの間だけ有効ですか? –

+0

@NicolasGUILLAUME:はい、私はそれをテストしました。もちろん、開発モードでのみ。キャッシュに格納する –

答えて

2

私はbefore_filterを使用して、キャッシュに結果を格納します。

また、セッションを使用してフレンドリストを保存することもできますが、ストアドリストの長さが制御されている場合を除いては避けています。

+0

は、セッションサイズのサイズよりも好きなものです。 – harshit

関連する問題