3

在 XCode (iOS) 中,我使用 JSON 访问 rails 数据库。我创建了特定的操作来从数据库中检索数据并将数据输入到数据库中。

我想在我的数据库中插入一条记录并立即返回创建对象的 id。但是我找不到将这些动作“链接”在一起的方法。

对于插入数据,我使用这样的请求:

    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"http://..."]];
    [request setHTTPMethod:"@POST"];
    [request addValue:@"application/json" forHTTPHeaderField:@"content-type"];
    NSData *objectData = [NSData alloc];
    NSError *parseError = nil;
    objectData = [NSJSONSerialization dataWithJSONObject:myData options:NSJSONWritingPrettyPrinted error:&parseError];
    [request setHTTPBody:objectData]; 

对于数据检索,我使用以下内容:

    NSMutableArray *myArray = [[NSMutableArray alloc] init];

    NSData *myContent = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://..."]];
    NSError *parseError = nil;
    NSInputStream *myStream = nil;

    myStream = [[NSInputStream alloc] initWithData:myContent];
    [myStream open];

   myArray = [NSJSONSerialization JSONObjectWithStream:myStream options:NSJSONReadingAllowFragments error:&parseError];
4

1 回答 1

0

我认为在控制器 json 动作中你可以使用类似的东西

def json 
  #-- do your magic to fill @object --
  if @object.save
    respond_to do |format|
      format.json { render :json => {:id => @object.id} } # Return the id
      # format.json { render :json => @object } #You can return the whole object
      format.html { render :string => "#{@object.inspect}" }
    end
  else
    render :json => {:error => "OMG Failed to save the model!"} 
  end
end
于 2012-10-16T06:54:59.830 回答