Ruby on rails 活动记录存储删除
从活动记录存储中删除时遇到问题 我想根据会话数据删除:Ruby on rails 活动记录存储删除,ruby-on-rails,ruby,activerecord,session-timeout,Ruby On Rails,Ruby,Activerecord,Session Timeout,从活动记录存储中删除时遇到问题 我想根据会话数据删除: ActiveRecord::SessionStore::Session.find(:all).each do |s| if s.data[:userid] == 1234 s.destroy end end 似乎不起作用,但: ActiveRecord::SessionStore::Session.delete_all(["updated_at < ?", 12.hours.ago]) 也不起作用 我正在运行版本r
ActiveRecord::SessionStore::Session.find(:all).each do |s|
if s.data[:userid] == 1234
s.destroy
end
end
似乎不起作用,但:
ActiveRecord::SessionStore::Session.delete_all(["updated_at < ?", 12.hours.ago])
也不起作用
我正在运行版本rails 2.3.2,ruby 1.8.7。您只需将要删除的对象的ID传递给Active Record的delete方法即可:
ActiveRecord::SessionStore::Session.delete(1234)
另一方面,请确保在上面的示例中.data属性来自何处。find(:all)将返回一个会话对象数组,然后对其进行迭代。会话没有userid列,除非您正在攻击默认会话存储以添加它 每个登录的用户都会获得一个userid。如果他们没有登录,那么这个用户ID是零,所以我不需要担心。谢谢
ActiveRecord::SessionStore::Session.delete(1234)