3

私はwrap_parameters format: [:json]にいwrap_parameters.rbます。でサーバーに投稿しますjQuery.post('photos', {name: 'flower'});。でphotos#createparamsです

{"name"=>"flower", "controller"=>"photos", "action"=>"create"}

しかし、私は期待しています

{"name"=>"flower", "controller"=>"photos", "action"=>"create", "photos"=>{"name"=>"flower"}}

私は何が欠けていますか?

4

2 に答える 2

6

このjQuery.post('photos', {name: 'flower'});呼び出しは、パラメータをjsonではなく「標準」フォーム(application/x-www-form-urlencodedまたはmultipart/form-data)として投稿します。だからwrap_parameters format: [:json]動作しません。

format: [:json]jsonデータを削除または投稿してみてください

$.ajax({
  url:'photos',
  type:"POST",
  data:JSON.stringify({name: 'flower'}),
  contentType:"application/json; charset=utf-8",
  dataType:"json",
  success: function(){
    ...
  }
})
于 2012-06-18T05:44:56.520 に答える
0

ヘッダー「Content-Type」:「application/json」を使用してPOSTリクエストを実行する必要があります。

于 2021-03-31T21:16:23.520 に答える