2013-05-02 1 views
1

레일로 파일을 업로드했습니다.하지만 Ajax로 변경하면
이 일부 서버 오류를 발생시킵니다.레일 파일 업로드 ajax

FORM 코드

<%= form_tag({:controller => 'person',:action => 'create'},:multipart => true) do 
%> 
<%= file_field_tag 'upload', :class => 'upload_name' %> 
<%= submit_tag "Upload", :class => "photo_up btn btn-success" %> 
<%end%> 

AJAX 코드

$(function(){ 
$(".photo_up").click(function(){ 

var filename = $(".upload_name").val(); 

$.ajax({ 
     url: '/create', //your server side script 
     data: { upload: filename}, //our data 
     type: 'POST', 
     success: function (response) {       
     } 

    }); 
return false; 
}); 
}); 

내가이 코드를 실행할 때 오류를 위해 RESTClient :: InternalServerError를 제공 가지고 여기

file_param = params[:upload] 
puts "name os #{file_param}" 
show_url = "............." 
resource = RestClient::Resource.new show_url, :user => "admin",:password => "admin" 
response = resource.post :file => file_param, :multipart => true 

컨트롤러 코드 (500 내부 서버 오류) :, 그리고 그 서버가 널 포인터를 보여줍니다. 컨트롤러에이 줄에 오류가 있습니다. 응답 = resource.post : file => file_param, : multipart => true. 하지만 그 아약스없이 정상적인 형태로 실행됩니다.

답변

0

불행하게도 아약스를 통해 jQuery를 ajaxForm 플러그인에

봐 다중 양식을 보낼 수있는 더 쉽고 보편적 인 방법은 없습니다. 이렇게하면 쉽게 처리 할 수 ​​있습니다.

http://malsup.com/jquery/form/