1

私はrest-clientを使用してrailsでファイルをアップロードしていますが、それをajaxに変更すると、
サーバーエラーが発生します。

フォームコード

<%= 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;
});
});

コントローラーコード

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

ここで、このコードを実行する と、サーバー エラー RestClient::InternalServerError (500 Internal Server Error):が発生し、サーバーがヌル ポインターを表示していることがわかります。コントローラーでは、次の行にエラーが表示されますresponse = resource.post : file => file_param, :multipart => true . ただし、ajax を使用しない通常の形式では実行されます。

4

1 に答える 1