Rails sunucumuza güncelleme PUT istekleri göndererek birçok kez denedik ve 404 "almaya çalıştığınız sayfa mevcut değil"iOS cihazları Rails uygulamalarına PUT istekleri gönderebilir mi?
Güncelleştirme yöntemimiz çok basit (pratik olarak genel raylar).
def update
@user = User.find(params[:id])
respond_to do |format|
if @user.update_attributes(params[:user])
format.html { redirect_to @user, notice: 'User was successfully updated.' }
format.json { head :no_content }
else
format.html { render action: "edit" }
format.json { render json: @user.errors, status: :unprocessable_entity }
end
end
ben güncelleme yöntemi sınamak için komut satırından CURL çalıştırmak uç
, iyi çalışıyor. Ancak, aynı yöntemleri objektif-c'de denediğimde, her zaman bir 404 hatasıyla sonuçlanır.Sorularım: iOS cihazları, NSURLConnection kullanan sunuculara PUT istekleri gönderebilir mi veya bu uygulanmadı mı?
GÜNCELLEME ::
Bu
NSString *dataString = @"user[first_name]=bob";
NSData *postBodyData = [NSData dataWithBytes: [dataString UTF8String] length:[dataString length]];
NSString *urlString = [NSString stringWithFormat:@"example.com/users/1.json"];
NSURL *fullURL = [NSURL URLWithString:urlString];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:fullURL cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:20];
[request setHTTPMethod: @"PUT"];
[request setHTTPBody:postBodyData];
self.todoConnection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
receivedData = [NSMutableData data];
Bu Bir NSMutableURLRequest yapmak ve HTTP yöntemi ayarlayabilirsiniz
NSString *urlString = [NSString stringWithFormat:@"example.com/users/1.json?user[first_name]=bob"];
NSURL *fullURL = [NSURL URLWithString:urlString];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:fullURL cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:20];
[request setHTTPMethod: @"PUT"];
self.todoConnection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
receivedData = [NSMutableData data];
Yakut kodunu zaman Gönderme Sorunuz iOS desteği hakkındadır, muhtemelen iyi bir şey yapmazsınız. Bunun yerine Objective-C kodunuzu gönderirseniz, HTTP yöntemini doğru olarak ayarlayıp ayarlamadığınızı görebiliriz (aşağıda David V aşağıda gösterildiği gibi). – glorifiedHacker
Evet, bunun için üzgünüm. Rayları bitiriyorum, ve farklı bir geliştirici hedef-c yazıyordu ve onun koduna erişimim yoktu. Şimdi bitti. –
'[' ve ']' karakterlerinden kaçmamanızla ilgili bir şey olup olmadığını merak ediyorum. HTTP gövdesini "@ user% 5Bfirst_name% 5D = brian" dizisinden türetilen verilerle ayarlamayı deneyin. – glorifiedHacker