Rails 7 にアップグレードした後に ActionDispatch::Request::Session::DisabledSessionError が発生する

概要

最近アプリケーションを Rails 7 にアップグレードしましたが、以下のエラーが発生して一連のテストが失敗します。

ActionDispatch::Request::Session::DisabledSessionError: Your application has sessions disabled. To write to the session you must first configure a session store

これはデバイスと関係があるのではないかと疑っています。 以下は問題を引き起こしているコードです。

def login_user(user)
  post "/api/v2/login", :params => { :username => user.username, :password => user.password }
  assert_response :success, response.body
  json = JSON.parse(response.body)
  {:authentication_token => json["user"]["authentication_token"]}
end

application.rb ファイルから config.api_only = true という行を削除すると、テスト ケースは問題なく合格しますが、他の問題によりその行を実際には削除できません。誰かがこの問題に対する適切な解決策を持っていますか?

解決策

同様の質問を見つけました: Rails 7 API のみのアプリでは Devise を使用したセッション ストアが必要です

ここで、 config/application.rb に次の内容を追加することをお勧めします。

config.session_store :cookie_store, key: '_interslice_session'
    config.middleware.use ActionDispatch::Cookies
    config.middleware.use config.session_store, config.session_options

github のこの問題に基づいて