質問

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?

役に立ちましたか?

解決

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top