0

Ruby on RailsでコールバックURLへの投稿を開発しており、これにHttpartyライブラリを使用しています。投稿はURLで完全に受信されますが、RailsはURLに2回プッシュされたデータをパラメーターに変換するようです。これが私が呼び出しを行うために使用するコードです:

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

受信アプリケーションのログで私はこれを手に入れました:

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

コントローラーハッシュに1つ、通常のパラメーターハッシュに1つ、合計2倍のデータパラメーターがあることが直接わかります。これはどうして来るのですか?

4

1 に答える 1

1

これは ParamsWrapper モジュールが原因ですhttps://github.com/rails/rails/blob/master/actionpack/lib/action_controller/metal/params_wrapper.rb

これは、イニシャライザによって Rails アプリでデフォルトで有効になっていますconfig/wrap_parameters.rb

于 2012-09-13T13:06:40.373 に答える