diff options
author | Mehmet Emin İNAÇ <mehmetemininac@gmail.com> | 2016-02-20 11:33:05 +0200 |
---|---|---|
committer | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2016-02-22 21:22:28 -0300 |
commit | 97ed810cfc15725a0856227fa9f9eb26930f16c8 (patch) | |
tree | d55772c514e0a96f833847c80d0e7e85e30c598a /actionpack/lib/action_dispatch | |
parent | 353782652b7dae7573f6480439519f227c41185a (diff) | |
download | rails-97ed810cfc15725a0856227fa9f9eb26930f16c8.tar.gz rails-97ed810cfc15725a0856227fa9f9eb26930f16c8.tar.bz2 rails-97ed810cfc15725a0856227fa9f9eb26930f16c8.zip |
Use symbol of mime type instead of object to get correct parser
After registering new `:json` mime type `parsers.fetch` can't find the mime type because new mime type is not equal to old one. Using symbol of the mime type as key on parsers hash solves the problem.
Closes #23766
Diffstat (limited to 'actionpack/lib/action_dispatch')
-rw-r--r-- | actionpack/lib/action_dispatch/http/parameters.rb | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/actionpack/lib/action_dispatch/http/parameters.rb b/actionpack/lib/action_dispatch/http/parameters.rb index cca7376ffa..bcb818d38c 100644 --- a/actionpack/lib/action_dispatch/http/parameters.rb +++ b/actionpack/lib/action_dispatch/http/parameters.rb @@ -4,7 +4,7 @@ module ActionDispatch PARAMETERS_KEY = 'action_dispatch.request.path_parameters' DEFAULT_PARSERS = { - Mime[:json] => lambda { |raw_post| + Mime[:json].symbol => -> (raw_post) { data = ActiveSupport::JSON.decode(raw_post) data.is_a?(Hash) ? data : {:_json => data} } @@ -51,7 +51,7 @@ module ActionDispatch def parse_formatted_parameters(parsers) return yield if content_length.zero? - strategy = parsers.fetch(content_mime_type) { return yield } + strategy = parsers.fetch(content_mime_type.symbol) { return yield } begin strategy.call(raw_post) |