2016-12-04 7 views
0

私はグループIDを保存するセッション変数を持っています。私はモデルの内側に、このセッション変数にアクセスしようとしています。この時点でスレッド変数でモデルにセッション変数を使用できるようにする方法は?

# In my application controller 
before_filter :save_request_path 

def save_request_path 
    if request.params[:group_id] 
    session[:group_id]= request.params[:group_id] 
    end 
end 

:[group_idの]私はセッションの設定自分のアプリケーションのコントローラにフィルタの前に設定しています。スレッド変数を使用してcurrent_userを実行する例を見てきました。私はそのような例を理解していないようだが、https://www.zorched.net/2007/05/29/making-session-data-available-to-models-in-ruby-on-rails/。 特定のケースでスレッド変数を使用してこれを行うにはどうすればよいですか?

答えて

0

本当にスレッド変数を使用する場合は、request_storeを使用することをお勧めします。これにより、スレッドローカル変数を使用して並行性の問題が回避されます。

def save_request_path 
    if request.params[:group_id] 
    RequestStore.store[:group_id] = request.params[:group_id] 
    end 
end 

そして、これはあなたがそれにアクセスする方法である:

これは、あなたが値を格納したい方法です

RequestStore.store[:group_id] 
関連する問題