Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/104.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从iOS应用程序调用Rails操作_Ios_Ruby On Rails - Fatal编程技术网

从iOS应用程序调用Rails操作

从iOS应用程序调用Rails操作,ios,ruby-on-rails,Ios,Ruby On Rails,我有一个非常简单的Rails操作,如下所示: def create @story = Story.new(story_params) if(@story.save) render :json => {:success => 'true', :message => 'Story saved successfully!'} else render :json => {:success => 'true', :messa

我有一个非常简单的Rails操作,如下所示:

def create 
    @story = Story.new(story_params)
    if(@story.save)
      render :json => {:success => 'true', :message => 'Story saved successfully!'}
    else 
      render :json => {:success => 'true', :message  => 'Error creating story'}
    end 
  end 
我使用AFNetworking从我的iPhone应用程序调用上述方法:

 [self POST:@"stories/create" parameters:@{@"story[title]":story.title,@"story[abstract]":story.abstract} success:^(NSURLSessionDataTask *task, id responseObject) {

        if(success) success(task,responseObject);

    } failure:^(NSURLSessionDataTask *task, NSError *error) {

        if(failure) failure(task,error);

    }];
我得到以下信息:

 "The operation couldn’t be completed. (Cocoa error 3840.)" (JSON text did not start with array or object and option to allow fragments not set.) UserInfo=0x8ca3500 {NSDebugDescription=JSON text did not start with array or object and option to allow fragments not set.}
我使用Charles查看网络流量,得到以下结果:

story[abstract] Asd
story[title]    asdas
这意味着什么?我怎样才能上班

更新:

我尝试了下面提到的其他方法,但仍然存在相同的问题:

 [self POST:@"stories/create" parameters:@{@"story": @{
                                                      @"title": story.title,
                                                      @"abstract": story.abstract
                                                      }
                                              }
     success:^(NSURLSessionDataTask *task, id responseObject) {

         NSLog(@"Success");

     } failure:^(NSURLSessionDataTask *task, NSError *error) {

         NSLog(@"%@",error.description);

         NSLog(@"FAILED");

     }];

不确定,但这对我来说似乎是错误的:

@{@“故事[标题]”:故事.标题,@“故事[摘要]”:故事.摘要

那怎么办

@{@"story": @{
            @"title": story.title,
            @"abstract": story.abstract
            }
 }

这个问题可能有助于解释:@Jim导致问题的不是响应。而是请求。数据甚至没有到达rails操作。我尝试了你的方法,但得到了相同的错误。我更新了原始问题中的代码。