Gerçekten bir duvara çarptım ve biraz yardıma ihtiyacım var! Bu kadar okumak için teşekkür ederim!ASIHTTPRequest kullanarak iPhone'dan Ruby on Rails'e yükleme
Veritabanı istekleri için ROR web sunucumla görüşen ve ActiveResource sayesinde çok iyi çalışan bir uygulamanın yazıyorum. Ama şimdi sunucuya da dosya yüklemem gerekiyor ve ASIHTTPRequest'i kullanmayı çok iyi görüyorum. Sorunum olsa da sadece ROR tarafında POST isteğini nasıl alacağımı bilemiyorum ... Kağıt kullanıyorum ama gerçekten bir tuğla duvara çarptı. Sadece yazıyorum ASIHTTP tarafında
:[request setData:data withFileName:@"photo.jpg" andContentType:@"image/jpeg" forKey:@"asset[image]"];
ve ben yapıyorum yakut tarafında
...class Asset < ActiveRecord::Base
validates_attachment_presence :image
has_attached_file :image
end
class AssetsController < ApplicationController
protect_from_forgery :only => [:update, :destroy]
.....
Ama her zaman başarısız, ben eminim POST form veri kümesi ile ilgili bir şey var, ama tamamen sıkışmış. Herhangi bir yardım çok çok gratefully alınan
Parameters: {"assets"=>{"images"=>#<File:/var/folders/gM/gM15qjM2G3W0iVNaT1evD++++TI/-Tmp-/RackMultipart20091112-2285-2i0qq5-0>}} NoMethodError (You have a nil object when you didn't expect it! You might have expected an instance of ActiveRecord::Base. The error occurred while evaluating nil.[]): app/models/asset.rb:2 app/controllers/assets_controller.rb:46:in
`create'
:
Şu hatayı alıyorum.
Chris
teşekkürler!
Ayrıca şunu eklemelisiniz: [request setPostValue: @ "Create" forKey: @ "commit"]; – Chris