我正在將我們的應用程式從 rails 6.1.7 升級到 7.0.4,并且遇到了一個錯誤,即控制器中的會話在每次 http 請求后被重置,這在以前沒有發生過。這只發生在測驗環境中,而不是開發環境中。
當用戶登錄并完成身份驗證后,我們設定以下內容:
def login_user!
session[:user_id] = @user.id
.....
end
當用戶嘗試訪問另一個鏈接時,我們會檢查以下內容
def logged_in?
session[:user_id].present?
end
考試:
test 'updates locale' do
post login_path, params: { email: user.email, password: user.password }, as: :json
patch user_path(user), params: { user: { locale: 'en' } }, as: :json
end
通常我使用第一行login_path來設定會話,以便我可以測驗其他 http 請求,如在此處提及的那樣。但是,似乎在 rails 7 中的每次呼叫后會話都會重置。當我執行第二個請求時,我收到以下錯誤:<ActionDispatch::Request::Session:0x25648 not yet loaded>
uj5u.com熱心網友回復:
供將來參考他人;這個錯誤是由于我使用了redis-session-store與 redis 5 或更高版本和 fakeredis 0.7 版本不兼容的 gem
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/515854.html
下一篇:僅當dll可用時從介面繼承
