2

iOSアプリを作成していますが、RoRAPIに投稿する必要があります。

POSTをテストするために、次のコマンドを実行しています。

curl -d @/tmp/data localhost:3000/api/ratings

/ tmp / dataにハッシュの配列が含まれている場合:

[    {        "uid": "gilt_162929239",        "rate": 1    }   ]

Rubyでは、paramsは次のようになります。

[1] pry(#<Api::PromotionRatingsController>)> params
=> {"    {        \"uid\": \"good_162929239\",        \"rate\": 1    }   "=>nil,
 "format"=>"json",
 "action"=>"create",
 "controller"=>"api/ratings"}

Railsにハッシュの配列を作成させて、それぞれを反復処理するにはどうすればよいですか?

編集:ヘッダーがありませんでした。

curlコマンドラインへの追加:

--header "Accept: application/json" --header "Content-type: application/json"

さて、これが私のパラメータです:

[1] pry(#<Api::PromotionRatingsController>)> params
=> {"_json"=>[{"uid"=>"good_162929239", "rate"=>1}],
 "format"=>"json",
 "action"=>"create",
 "controller"=>"api/ratings",
 "promotion_rating"=>{"_json"=>[{"uid"=>"good_162929239", "rate"=>1}]}}

まだ正しくありません。

4

1 に答える 1

0

これによると:

イニシャライザーでconfig.wrap_parametersをオンにしている場合、またはコントローラーでwrap_parametersを呼び出している場合は、JSON/XMLパラメーターのルート要素を安全に省略できます。パラメータは、デフォルトでコントローラの名前に従って複製され、キーにラップされます。

したがって、私の推測では、ルート要素を含めるか、を設定する必要がありますconfig.wrap_parameters

于 2012-09-23T03:41:25.753 に答える