db:drop之后Rails会话仍然存在

时间:2016-03-30 17:26:42

标签: ruby-on-rails ruby session

我很好奇为什么sessionrake db:drop之后还活着?

我有

  def current_order
    if !session[:order_id].nil?
     @current_order =  Order.find(session[:order_id])
    else
      Order.new
    end
  end
  helper_method :current_order

并且在rake db:drop之后它给了我异常

Couldn't find Order with 'id' = my session number
>> session[:order_id]
=> 11

这意味着会话仍在那里。但是为什么?

1 个答案:

答案 0 :(得分:1)

Rails默认使用ActionDispatch::Session::CookieStore来存储会话。因此,清除数据库不会删除客户端持有的任何会话数据。

相反,您将删除浏览器中的cookie(正在开发中)或更改密钥库以使现有cookie无效。

请参阅: