From 69e9d5d2572d37108801c740a4ddd98ab94add04 Mon Sep 17 00:00:00 2001 From: Cassidy K Date: Fri, 10 Nov 2017 09:45:59 -0500 Subject: [PATCH] Adding with_indiferent_access to controller params In Rails 4.2, `to_unsafe_hash` converts the `params` to a Hash and the values can only be accessed with the keys as strings. This change allows for compatibility with Rails 4.2. --- lib/jsonapi/rails/controller/deserialization.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/jsonapi/rails/controller/deserialization.rb b/lib/jsonapi/rails/controller/deserialization.rb index c89934e..1c22b1e 100644 --- a/lib/jsonapi/rails/controller/deserialization.rb +++ b/lib/jsonapi/rails/controller/deserialization.rb @@ -49,7 +49,8 @@ def deserializable_resource(key, options = {}, &block) Class.new(JSONAPI::Rails::DeserializableResource, &block) before_action(options) do |controller| - hash = controller.params.to_unsafe_hash[:_jsonapi] + hash = controller.params.to_unsafe_hash + .with_indifferent_access[:_jsonapi] if hash.nil? JSONAPI::Rails.logger.warn do "Unable to deserialize #{key} because no JSON API payload was" \