我有一個Rails 2.3.5應用程序,我正在遷移到Rails 3.0.10,它遇到了會話問題。Rails會話ID是零
由於會話沒有標識(request.session是空的散列,request.session_options [:id]爲零),所以在集成測試期間某些代碼失敗。我們目前正在使用webrat,但同樣的事情發生在水豚和標準扶手上。會話似乎是正確設置的,因爲一些集成測試具有會話ID。它看起來像會話標識僅在嘗試訪問會話標識(即大多數)之前未登錄的測試中缺失。
我試過將會話後端(目前是基於cookie)切換到ActiveRecord,但這沒有幫助。我創建了一個新的Rails 3.0.10應用程序,它也有零會話ID。我甚至還深入瞭解了Rails的會話處理過程,並且看起來好像沒有會話標識正在生成,如果會話缺失的話。
這是缺乏會議id預期的行爲,有記載的地方?如果這是一個bug,是否有一個Rails版本可以正確生成會話ID?
我剛碰到與Rails 3.2.8應用程序和Capybara 2.0.1相同的情況。任何更新? – hiroshi