1

这是我的会议内容:

Session:
{
 "session_id"=>"0aee1c4fbb70c027099958aea9c06ddc",
 "should_activate_backbone"=>true, 
 "return_to"=>"/",
 "split"=>{"login_signup"=>"New"},   
 "_csrf_token"=>"xY/pVjP0Q2aQVbKO0WiEwkgmadEWOnV9n9EKvM+jJh4="
}

我正在使用拆分进行 AB 测试。因此,如果用户注销,我想保留该变体。因此,在新会话中,我需要放回旧会话的这一部分:

"split"=>{"login_signup"=>"New"}

我想在控制器中以某种方式做到这一点。

4

1 回答 1

1

我设法使用 after_filter 重置新会话中的值

class Authentication::SessionsController < Devise::SessionsController
  after_filter :set_back_experiments, :only => [:destroy]
  def destroy
    @split = session[:split]
    super
  end
private

  def set_back_experiments
    session[:split] = @split
  end
end
于 2012-08-29T13:45:06.307 回答