AFJSONOperationRequestを使用する前にNSMutableURLRequestを使用していますが、Railsアプリでデータを取得する際に問題が発生します。
私が使用する場合:
NSMutableURLRequest *request = [[HTTPClient sharedClient] multipartFormRequestWithMethod:@"POST" path:path parameters:dict constructingBodyWithBlock: ^(id <AFMultipartFormData>formData)
{
}];
それで :
AFJSONRequestOperation *operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON)
{
else {
}
}
Railsログでデータが正しくフォーマットされています。
Parameters: {"contact"=>{"country_id"=>"45", "lastname"=>"Tutu"}}
しかし、ファイルを送信するのにAFMultipartFormDataは必要ありません...(送信するファイルはありません)
したがって、代わりに、次を使用します。
NSMutableURLRequest *request = [[HTTPClient sharedClient] multipartFormRequestWithMethod:@"POST" path:path parameters:dict];
私のAFJSONRequestOperationでも。しかし、私のパラメータは私のRailsアプリで正しく設定されていません:
Parameters: {contact[country_id] => "45", contact[lastname] => "Tutu"}
それ以外の
Parameters: {"contact"=>{"country_id"=>"45", "lastname"=>"Tutu"}}
理由がわかりません。ブロック「constructingBodyWithBlock」を使用しないと、リクエストの本文が正しく設定されていないようです。