5

Tôi đang sử dụng Carrierwave để tải ảnh lên ứng dụng ray của tôi sử dụng một bộ điều khiển đơn giản:Carrierwave trả 406 Không được chấp nhận mặc dù bức ảnh không tải lên

# POST /photos 
    # POST /photos.xml 
    def create 
    @photo = Photo.new(params[:photo]) 

    respond_to do |format| 
     if @photo.save 
     format.html { redirect_to(@photo, :notice => 'Photo was successfully created.') } 
     format.xml { render :xml => @photo, :status => :created, :location => @photo } 
     format.json { render :json => @photo, :status => :created } 
     else 
     format.html { render :action => "new" } 
     format.xml { render :xml => @photo.errors, :status => :unprocessable_entity } 
     format.json { render :json => @photo.errors, :status => :unprocessable_entity } 
     end 
    end 
    end 

tôi gửi các tập tin thông qua Ajax, và mặc dù việc tải lên thực sự được lưu lại và xử lý một cách chính xác, Rails vẫn trả về một bí ẩn Completed 406 Not Acceptable:

Started POST "/photos" for 127.0.0.1 at 2011-08-17 14:20:01 +0300 
    Processing by PhotosController#create as JS 
    Parameters: {"Filename"=>"IMG_5758.JPG", "folder"=>"/apartments/4e4ba2e735be35f40a00000b/", "_http_accept"=>"application/javascript", "fileext"=>"*.png;*.jpg;*.gif", "_dirot_session"=>"BAh7CEkiD3Nlc3Npb25faWQGOgZFRiIlOTYxNGM2MDk3NmU0YjRjN2U3NjMzNTA1YmQwMDg5MWJJIgx1c2VyX2lkBjsARm86E0JTT046Ok9iamVjdElkBjoKQGRhdGFbEWlSaQH0aQHtaQGUaTppAb5pOmkSaQGAaQBpAGkGSSIQX2NzcmZfdG9rZW4GOwBGSSIxb2RDcm9OMXRkYis3MXZpQ1ZtN1ZkZE54TmhTckFzalVBUmFTQWxxeU4yQT0GOwBG--2b5bc2b162dc2a1423750cbae32d5238d5c45064", "authenticity_token"=>"odCroN1tdb 71viCVm7VddNxNhSrAsjUARaSAlqyN2A=", "photo"=>{"apartment_id"=>"4e4ba2e735be35f40a00000b", "image"=>#<ActionDispatch::Http::UploadedFile:0x000001033fe810 @original_filename="IMG_5758.JPG", @content_type="application/octet-stream", @headers="Content-Disposition: form-data; name=\"photo[image]\"; filename=\"IMG_5758.JPG\"\r\nContent-Type: application/octet-stream\r\n", @tempfile=#<File:/var/folders/qI/qIWmC9LgFB0Dk8E4z1xjAE+++TI/-Tmp-/RackMultipart20110817-62474-4akysm>>}, "Upload"=>"Submit Query"} 
Creating scope :near. Overwriting existing method Apartment.near. 
MONGODB dirot_development['apartments'].find({:_id=>BSON::ObjectId('4e4ba2e735be35f40a00000b')}) 
MONGODB dirot_development['photos'].insert([{"apartment_id"=>BSON::ObjectId('4e4ba2e735be35f40a00000b'), "_id"=>BSON::ObjectId('4e4ba3ea35be35f40a00000f'), "updated_at"=>2011-08-17 11:20:10 UTC, "image_filename"=>"IMG_5758.JPG", "created_at"=>2011-08-17 11:20:10 UTC}]) 
Completed 406 Not Acceptable in 9125ms 

bạn có biết tại sao điều này đang xảy ra?

Trả lời

1

Bộ điều khiển của bạn đang xử lý yêu cầu của bạn dưới dạng "JS". Tuy nhiên, hành động điều khiển của bạn chỉ đáp ứng với html, xml và json. Thêm dòng cho format.js và các câu trả lời có liên quan.

+0

Đẹp, hoạt động rực rỡ! Cảm ơn. – Avishai

Các vấn đề liên quan