Ios 使用Rails连接和删除请求

Ios 使用Rails连接和删除请求,ios,ruby-on-rails,heroku,afnetworking,Ios,Ruby On Rails,Heroku,Afnetworking,我正在对我自己版本的heroku rails移动iOS照片共享应用程序进行最后的润色。我已经在iOS上实现并成功地通过HTTP发送POST和GET请求。不幸的是,Heroku教程明确指出它赢了;我不想讨论如何编写删除请求。以下是我目前掌握的情况: + (void)deletePhoto:(NSString *)owner image:(NSString *)recordId block:(void (^)(Photo *, NSError *))block

我正在对我自己版本的heroku rails移动iOS照片共享应用程序进行最后的润色。我已经在iOS上实现并成功地通过HTTP发送POST和GET请求。不幸的是,Heroku教程明确指出它赢了;我不想讨论如何编写删除请求。以下是我目前掌握的情况:

+ (void)deletePhoto:(NSString *)owner
          image:(NSString *)recordId
          block:(void (^)(Photo *, NSError *))block
{
NSMutableDictionary *mutableParameters = [NSMutableDictionary dictionary];
[mutableParameters setObject:recordId forKey:@"photo[id]"];

NSLog(@"Destroying %@", recordId);
[[CloudGlyphAPIClient sharedClient] deletePath:@"/photo" parameters:mutableParameters success:^(AFHTTPRequestOperation *operation, id JSON) {
    if (block) {
        NSLog(@"DELETE sussessful");
    }
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    if (block) {
        block(nil, error);
    }
}];
}

+ (void)getPhotos:(NSString *)owner
                 block:(void (^)(NSSet *photos, NSError *error))block
{
NSMutableDictionary *mutableParameters = [NSMutableDictionary dictionary];
[mutableParameters setObject:owner forKey:@"photo[owner]"];

[[CloudGlyphAPIClient sharedClient] getPath:@"/photos" parameters:mutableParameters success:^(AFHTTPRequestOperation *operation, id JSON) {
    NSMutableSet *mutablePhotos = [NSMutableSet set];
    for (NSDictionary *attributes in [JSON valueForKeyPath:@"photos"]) {
        Photo *photo = [[Photo alloc] initWithAttributes:attributes];
        [mutablePhotos addObject:photo];
    }

    if (block) {
        block([NSSet setWithSet:mutablePhotos], nil);
    }
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    if (block) {
        block(nil, error);
    }
}];
}

我已经基于GET请求的DELETE请求,除了在本例中我们正在寻找特定的图像用户和特定的所有者。我得到一个错误,路由文件不包含删除/照片的路径。。。我将destroy方法添加到rails应用程序中,并搜索routes.rb文件

我觉得这是一个rails在某处抓住了。。谢谢你的帮助^_^


TL;DR尝试为带有AFNetworking的rails应用编写删除请求

在AFNetworking中,删除路径是一个url路径,如下所示:photos/18.json是标记为删除的记录。在这里找到了答案:


实际上,我们可以将一个字符串连接到表中ActiveREcord的url。

看起来deletePath应该是试图删除的资源的url,不知道这是如何形成的?另外,rails应用程序使用的是回形针,但我认为在销毁方法中,我只需要说“@photo.image.destroy”。照片是ActiveRecord,图像是附件字段。