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

sim*_*imo 2 devise ruby-on-rails-3.1

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

这是我的模特:

class Student < ActiveRecord::Base

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

  def timeout
      3.seconds
  end
end
Run Code Online (Sandbox Code Playgroud)

这是routes.rb:

  devise_for :students do get '/students/sign_out' => 'students/sessions#destroy' end
Run Code Online (Sandbox Code Playgroud)

我登录,然后等待5秒,此时,学生会话应该过期,但是,如果导航到任何其他受保护的页面没有重定向回登录表单,这意味着会话仍然是活动的.

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

谢谢,希望

Rod*_*res 5

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

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

  • 我找到了解决方案,config.timeout_in在config/initializers文件夹中的devise.rb文件中发表了评论我认为添加:timeoutable是我必须做的所有事情,我认为config/initializers中的devise.rb应该添加到在谈论的文档:超时,它将对像我这样的RoR新手有所帮助! (2认同)