Ios Restkit发送Get请求而不是Post
我刚刚开始使用Restkit,并尝试发送一个常规POST请求“serverUrl/account/authenticate.xml?OPTIONS”,以获得xml响应。这是我用来调用URL的代码:Ios Restkit发送Get请求而不是Post,ios,ruby-on-rails-3,restkit,Ios,Ruby On Rails 3,Restkit,我刚刚开始使用Restkit,并尝试发送一个常规POST请求“serverUrl/account/authenticate.xml?OPTIONS”,以获得xml响应。这是我用来调用URL的代码: -(void) function{ // OBJECT MANAGER RKObjectManager* manager = [RKObjectManager objectManagerWithBaseURL:serverUrl]; [manager.router rout
-(void) function{
// OBJECT MANAGER
RKObjectManager* manager = [RKObjectManager objectManagerWithBaseURL:serverUrl];
[manager.router routeClass:[CBUser class] toResourcePath:@"/account/authenticate" forMethod:RKRequestMethodPOST];
// OBJECT MAPPING
RKObjectMapping* mapping = [RKObjectMapping mappingForClass:[CBUser class]];
mapping = [manager.mappingProvider objectMappingForKeyPath:@"user"];
[mapping mapKeyPath:@"id" toAttribute:@"userId"];
[manager loadObjectsAtResourcePath:str objectMapping:mapping delegate:self];
}
// DELEGATE
- (void)objectLoader:(RKObjectLoader*)objectLoader didLoadObjects:(NSArray*)objects {
CBUser* user = [objects objectAtIndex:0];
NSLog(@"Loaded Contact ID #%@ -> Firstname: %@, Lastname: %@", user.userId, user.firstname, user.lastname);
}
- (void)objectLoader:(RKObjectLoader*)objectLoader didFailWithError:(NSError*)error {
NSLog(@"Encountered an error: %@", error);
}
查看服务器日志,它似乎接收到GET请求而不是POST,尽管我使用了“RKRequestMethodPOST”选项
以下是我的错误表单我的日志:
Started GET "/account/authenticate.xml?commit=Login&authenticity_token=iPhone&user%5Bpassword=XXXXX&user%5Bemail=XXXXXXX%5D&user%5Bdevice_token=XXXXXXX" for 192.168.106.30 at 2012-01-25 19:20:03 -0800
AbstractController::ActionNotFound (The action 'show' could not be found for AccountController):
Rendered /Users/Guillaume/.rvm/gems/ruby-1.9.2-p290/gems/actionpack-3.0.9/lib/action_dispatch/middleware/templates/rescues/unknown_action.erb within rescues/layout (1.2ms)
我遗漏了什么?希望我的应用程序的这个代码片段能有所帮助。您可以在代理中设置映射。注意“FormMethod” 然后,当你想发布一个对象时
[[RKObjectManager sharedManager] postObject:user delegate:self];
希望我的应用程序的这个代码片段能有所帮助。您可以在代理中设置映射。注意“FormMethod” 然后,当你想发布一个对象时
[[RKObjectManager sharedManager] postObject:user delegate:self];
将答案标记为正确或解释它为什么不起作用是好的形式将答案标记为正确或解释它为什么不起作用是好的形式