Pregunta

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?

¿Fue útil?

Solución

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top