こんにちは、ヘイ株式会社 CTO 室の id:hogelog です。 先日 STORES https://stores.jp/ec を支える Rails アプリケーションが静かに Rails 6.0 から Rails 6.1 にアップグレードされたのですが、そんな中で出会った現象が非常に不可解でエキサイティングなものだったので紹介させていただきます。 起きた現象 Rails 6.1 アップグレードで発生した不具合は要約すると「入れ子構造のハッシュを引数として作成した ActionController::Parameters 子要素のハッシュは ActionController::Parameters になっているはずなのになぜか低確率で ActiveSupport::HashWithIndifferentAccess になってしまう」というものでした。 不具合に関連するコードのみ示すと以下
![Rails 6.1 にアップグレードしたら ActionController::Parameters が ActiveSupport::HashWithIndifferentAccess に入れ替わる不具合に出会った話 - STORES Product Blog](https://cdn-ak-scissors.b.st-hatena.com/image/square/8e7b9ef30ac565f93f6f9f73a8e99a9e3c214cf8/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fh%2Fhogelog%2F20220630%2F20220630172533.png)