我試圖使用自動signout功能,rails 3.1,devise gem,:timeoutable不起作用,爲什麼?
這裏是我的模型:
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
我已經升級到Devise 1.5.2,但是,自動註銷仍然不能正常工作,我現在應該檢查什麼? 我已將此添加到學生模型: 2.seconds 結束 高清超時 2.seconds 結束 但是,仍然沒有工作,我試圖把一個斷點到上述方法,使用高清timeout_in RubyMine,但是,他們從未到達過。 有什麼想法嗎? – simo
我已經在這裏上傳了一個例子: https://github.com/rodrigoflores/Testing-Timeout。 檢查https://github.com/rodrigoflores/Testing-Timeout/blob/master/app/models/user.rb和開發日誌說超時正在工作https://github.com/rodrigoflores/Testing-超時/斑點/主/日誌/ development.log#L138 –
我發現解決方案, config.timeout_in被評論在文件devise.rb在配置/初始化文件夾 我認爲添加:timeoutable是我所有我認爲config/initializers中的devise.rb應該添加到旁邊的文檔中:可超時的,這對像我這樣的RoR新手會有所幫助! – simo