たまにはRailsのIssueを読んでみる
今日はこのIssueを読んでみた
ActionController::Parameters#== does not works as expected · Issue #21032 · rails/rails · GitHub
hash = { foo: :bar } params = ActionController::Parameters.new(hash) params == hash #returns false
あるHashから生成した ActionController::Parameters オブジェクトと生成に使ったHash
の同一性が失われてしまっている(等位性を比較してもtrueにならない)というIssue
ActionController::Parameters.new が使っている ActiveSupport::HashWithIndifferentAccessが
内部で シンボルを文字列に変換して保持してしまう事が原因
ActiveSupport::HashWithIndifferentAccess に '==' をオーバーライドさせればよさそうという コメントがついている.