Rails 3, JRuby 1.6.7.2tập tin tải lên trong Rails cho chuỗi tên tập tin thay vì Tệp or đối tượng StringIO
Tôi đã cố gắng một cái gì đó "tiểu học", chỉ cần tải lên một tệp văn bản thông qua một hình thức để chế biến trong tôi ứng dụng. Vấn đề tôi thấy là thay vì một StringIO hoặc File, tôi chỉ nhận được một chuỗi tên tập tin.
Dưới đây là phần mã cho form
= 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!'
Và mã điều khiển mà chỉ là đem lại cho tôi @upload như là một chuỗi chứa tên tập tin.
def file
@upload = params[:upload][:file]
render :template => 'api/file.html.haml'
end
Chạy trình gỡ lỗi trong bộ điều khiển cho tôi @ upload.class = Chuỗi và không trả lời bất kỳ tệp hoặc phương pháp StringIO nào, chẳng hạn như đã đọc.
Tương tự như 'form_tag ({: controller =>" api/# {CURRENT_API_VERSION}/api ",: action => 'file',: method =>: post},: multipart => true)' – fangxing