Recently I learned that in #ruby on #rails the params
that come in a request to the controller are from the type ActionController::Parameters.
Although the params
behave like a Hash sometimes (for example in params[:key]
), it's not a Hash.
I noticed this when I tried to send Hash#deep_symbolyze_key to an instance of ActionController::Parameters
and a NoMethodError
was raised.
Note: funny enough, the Hash#deep_symbolyze_key is "monkey-patched" method added by Rails (not present on standard Ruby).