Carrierwave връща 406 Неприемливо, въпреки че снимката се качва

Използвам Carrierwave, за да качвам снимки в моето приложение rails с помощта на прост контролер:

  # 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

Изпращам файловете чрез Ajax и въпреки че качването всъщност е запазено и обработено правилно, Rails все още връща мистериозен 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

Знаете ли защо се случва това?


person Avishai    schedule 17.08.2011    source източник


Отговори (1)


Вашият контролер обработва вашата заявка като "JS". Действието на вашия контролер обаче отговаря само на html, xml и json. Добавете редове за format.js и съответните отговори.

person dogenpunk    schedule 27.09.2011