こんにちは、私は修正済みのこの前の問題を抱えていましたが、修正は正しい方法で行われていません。ある人が正しい修正をするために正しい方向に向けることができますか?Rails RestKit POSTリクエストjsonのルートクラスがありません
ので、基本的に私はRESTkit
postObject
経由でiOSのシムを持つオブジェクトを作成し、私はこのメッセージ
Processing PeopleController#create (for 127.0.0.1 at 2012-01-13 03:55:46) [POST]
Parameters: {"name"=>"data"}
Person Create (0.4ms) INSERT INTO "people" ("created_at", "updated_at", "name")
VALUES('2012-01-13 11:55:46', '2012-01-13 11:55:46', NULL)
Completed in 27ms (View: 1, DB: 0) | 200 OK
素敵な紳士が私の関数を作成し内部の私のクラスのみを受け入れていることを指摘しました:私は見落とさ人のクラスを。
def create
@person = Person.new(params[:person]) , thus looking for {"person" => {"name"=>"data"}}
私だけ{"name"=>"data"}
を送信しておりますので、私は今、それはOK作成し、私は私のiOSシム上のエントリを見ることができますが、私は、これは正しい方法、正しい方法ではありません知っている
@person =Person.new(name:=>params[:name])
を行うことによって、これを固定元の関数に送信される{"person" => {"name"=>"data"}}
である必要があります。 「任意の考えをとのthnx事前に ここでいやがついにそれを考え出し
@interface Data: NSObject{// imaginary over arching class
Person * person;
NSArray *dog;
@property (nonatomic, retain) Person * person;
@property (nonatomic, retain) NSArray * dog;
@interface Data : NSObject {
Person *person;
NSArray *dogs;
}
@property (nonatomic ,retain) Person *person;
@property (nonatomic ,retain) NSArray *dogs;
@end
@interface Person : NSObject {
NSString *name;
NSNumber *personId;
NSDate *updatedAt;
NSDate *createdAt;
}
@property (nonatomic , retain) NSDate * createdAt;
@property (nonatomic , retain) NSDate * updatedAt;
@property (nonatomic , retain) NSNumber *personId;
@property (nonatomic , retain) NSString *name;
@end
RKObjectMapping* userMapping = [RKObjectMapping mappingForClass:[Person class]];
[userMapping mapKeyPath:@"created_at" toAttribute:@"createdAt"];
[userMapping mapKeyPath:@"updated_at" toAttribute:@"updatedAt"];
[userMapping mapKeyPath:@"name" toAttribute:@"name"];
[userMapping mapKeyPath:@"id" toAttribute:@"personId"];
RKObjectMapping* dogMapping = [RKObjectMapping mappingForClass:[Dog class]];
[dogMapping mapKeyPath:@"created_at" toAttribute:@"createdAt"];
[dogMapping mapKeyPath:@"person_id" toAttribute:@"spersonId"];
[dogMapping mapKeyPath:@"name" toAttribute:@"name"];
[dogMapping mapKeyPath:@"updated_at" toAttribute:@"updatedAt"];
[dogMapping mapKeyPath:@"id" toAttribute:@"dogId"];
RKObjectMapping *dataMapping = [RKObjectMapping mappingForClass:[Data class]];
[dataMapping mapKeyPath:@"dog" toAttribute:@"dogs"];
[dataMapping mapKeyPath:@"person" toRelationship:@"person" withMapping:userMapping];
[[RKObjectManager sharedManager].mappingProvider addObjectMapping:dataMapping];
[[RKObjectManager sharedManager] loadObjectsAtResourcePath:@"/people"
objectMapping:dataMapping delegate:self];
RKObjectRouter * router = [RKObjectManager sharedManager].router;
[router routeClass: [Person class] toResourcePath:@"/people/:personId"];
[router routeClass: [Person class] toResourcePath:@"/people"
forMethod:RKRequestMethodPOST];
RKObjectMapping *personSerializationMapping = [RKObjectMapping mappingForClass:
[NSMutableDictionary class]];
[personSerializationMapping attribute:@"name", nil];
[RKObjectManager sharedManager].mappingProvider
setSerializationMapping:personalSerializationMapping forClass: [Person class]];
Person *dave = [[Person alloc]init];
dave.name = @"Dave";
[[RKObjectManager sharedManager] postObject:dave delegate:self];
}
thnx @favo私のチキンスクラッチを編集するための] –