ねえ、NSDictionary オブジェクトの配列を使用して HTTP POST リクエストを作成する必要があります。
ただし、これを行うと、サーバー側で NSDictionary オブジェクトがハッシュに逆シリアル化されていないことに気付きます。文字列に逆シリアル化されます-これは私が望むものではありません。
これは、クライアント (iPhone) 側からパラメーターを送信する方法です。
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
for (ABContact *c in contactsWithEmailsOrPhones){
NSString *phoneNumber = [[ABContactsHelper class] contactPhoneNumber:c];
NSString *email = [[c emailArray] objectAtIndex:0];
NSLog(@"looping: %@, %@", phoneNumber, email);
NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:
phoneNumber,
@"phone",
email,
@"email",
[c firstname],
@"firstname",
[c lastname],
@"lastname", nil];
[request addPostValue:dict forKey:@"contacts[]"];
}
[request setDelegate:self];
[request startAsynchronous];
サーバー (レール) 側でデシリアライズすると、次のようになります。
Started POST "/app/find_friends" for 67.164.97.48 at Thu Sep 23 14:40:37 -0700 2010
Processing by app#find_friends as HTML
Parameters: {"contacts"=>["{\n email = \"xx\";\n firstname = xx;\n lastname = xx;\n phone = \"xx\";\n}", "{\n email = \"xx\";\n firstname = xx;\n lastname = xx;\n phone = \"xx\";\n}"]}
Completed 200 OK in 0ms (Views: 0.3ms | ActiveRecord: 0.0ms)
これは人々が直面する共通の問題だと確信しています。したがって、これには間違いなく解決策があります。
すべてのコメント/回答に感謝します。