rails 3.1,设计gem,:timeoutable不起作用,为什么?

时间:2011-11-30 19:25:52

标签: ruby-on-rails-3.1 devise

我正在尝试使用自动注销功能

这是我的模特:

class Student < ActiveRecord::Base

  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :trackable, :validatable, :timeoutable

  def timeout
      3.seconds
  end
end

这是routes.rb:

  devise_for :students do get '/students/sign_out' => 'students/sessions#destroy' end

我登录,然后我等了5秒,此时,学生会话应该过期,但是,如果要去任何其他人 受保护的页面不会重定向回登录表单,这意味着会话仍处于活动状态。

有什么我想念的吗?我应该检查什么?

谢谢, hopewise

2 个答案:

答案 0 :(得分:5)

关于设计维基的信息不正确。正确的方法是timeout_in

我修复了维基页面https://github.com/plataformatec/devise/wiki/How-To:-Add-timeout_in-value-dynamically

答案 1 :(得分:0)

我找到了解决方案, config.timeout_in在config / initializers文件夹

的文件devise.rb中发表了评论

我认为添加:timeoutable就是我必须要做的事情,我认为config / initializers中的devise.rb应该添加到文档旁边谈论:timeoutable,它将对RoR新手有所帮助。