Рельсы 3, JRuby 1.6.7.2
Я пробовал что-то «элементарное», просто загружая один текстовый файл через форму для обработки в своем приложении. Проблема, которую я вижу, заключается в том, что вместо StringIO или File я получаю просто строку имени файла.
Вот код формы
= form_tag(:controller => "api/#{CURRENT_API_VERSION}/api", :action => 'file', :method=> :post, :multipart => true) do
= label_tag "file"
= file_field_tag "upload[file]"
= submit_tag 'Analyze!'
И код контроллера, который просто дает мне @upload как строку, содержащую имя файла.
def file
@upload = params[:upload][:file]
render :template => 'api/file.html.haml'
end
Запуск отладчика в контроллере дает мне @upload.class = String, и он не отвечает ни на какие файлы или методы StringIO, такие как чтение.