如何使用设计配置超时?

模型:

devise :database_authenticatable, :registerable,:timeoutable, :recoverable, :rememberable, :trackable, :validatable,:timeout_in => 10.seconds 

development.rb:

 config.timeout_in = 10.seconds 

devise.rb:

 config.timeout_in = 10.seconds 

您是否希望页面刷新并再次显示登录页面? 如果是这样,那不是可超时function的工作原理。 如果您希望在刷新时向您显示登录页面,请从模型中删除超时部分,并将以下内容放在devise.rb NOT development.rb中。 别忘了重启rails服务器。

 config.timeout_in = 1.hour 

这些都记录在设计维基中

另外,我不确定10秒后的逻辑? 似乎有点太短了。 如果它仍然不起作用,增加到(例如)五分钟并进行测试。

还可以动态设置timeout_in选项

 class User < ActiveRecord::Base devise (...), :timeoutable def timeout_in if self.admin? 1.year else 2.days end end end