Я думаю, что это должен быть простой синтаксический вопрос, но я не уверен, что мой подход правильный.Я использую скрепку, чтобы принять загрузку файла из Flash.Действие успешно создает объект и сохраняет загрузку, но когда оно пытается сгенерировать ответ XML с помощью генератора XML по умолчанию, я думаю, что оно блокирует попытку включения вложения скрепки в файл XML.Rails показывает ошибку 406, а Flash выдает ошибку ввода-вывода.
Я нашел хороший ресурс для вложения вложений скрепок в XML , но это полное перерасходВсе, что нужно для прошивки - это сообщение об успехе или неудаче.Что-то вроде:
def jpg_stream
@photo = Photo.new(:name => params[:name], :uploaded => Time.now)
@photo.image = params[:image]
respond_to do |format|
if @photo.save
format.xml { "<success/>" }
else
format.xml { render :xml => @photo.errors, :status => :unprocessable_entity }
end
end
end
Какой должна быть эта строка?
format.xml { "<success/>" }
РЕДАКТИРОВАТЬ
Это трассировка стека ошибок.Я думаю, что у Rails нет проблем с возвратом того, что сгенерировано, ошибка 406 означает, что браузер / Flash не примет ответ.
Started POST "/generate_jpg" for 127.0.0.1 at 2011-01-25 12:59:24 -0700
Processing by PhotosController#jpg_stream as HTML
Parameters: {"name"=>"Test snapshot", "stream_id"=>"1", "Filename"=>"this.jpg", "image"=>#<ActionDispatch::
Http::UploadedFile:...
[paperclip] identify -format %wx%h "C:/Users/Sam/AppData/Local/Temp/stream20110125-4048-zqbu60.jpg[0]" 2>NUL
←[1m←[35mAREL (1.0ms)←[0m INSERT INTO "photos" ("name", "description", "stream_id", "created_at", "updated_at", "image_file_name", "image_content_type", "image_file_size", "image_updated_at") VALUES ('Test snapshot', '2011-01-25 19:59:24.630999', 1, '2011-01-25 19:59:24.687002', '2011-01-25 19:59:24.687002', 'this.jpg', 'application/octet-stream', 12251, '2011-01-25 19:59:24.651000')
[paperclip] Saving attachments.
[paperclip] saving .../system/images/86/original/this.jpg
Completed 406 Not Acceptable in 108ms