Question

I'm developping a post to a callback url in Ruby on Rails and use the Httparty library for this, I receive the post perfectly on the url but it seems that rails convert the data that is pushed to the url 2 times to parameters. Here is the code that I use to do the call :

@result = HTTParty.post("http://localhost:3000/mailchimp/callback/", 
          :body => { 
            :data => {
              :title => 'This is the screen name'}
          }.to_json,
          :headers => { 'Content-Type' => 'application/json' } )

In the logs of the receiving application I got this :

Parameters: {"mailchimp"=>{"controller"=>"mailchimp", "action"=>"callback", "data"=>{"title"=>"This is the screen name"}}, "data"=>{"title"=>"This is the screen name"}}

You see directly that I have 2 times the data parameters, once in the controller hash and once in the normal parameters hash. How does this come?

Was it helpful?

Solution

This is caused by the ParamsWrapper module https://github.com/rails/rails/blob/master/actionpack/lib/action_controller/metal/params_wrapper.rb

This is enabled by default in your rails app by the initializer config/wrap_parameters.rb

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top