Я загружал файл с рельсами с rest-client, но когда я меняю его на ajax,
дает некоторую ошибку сервера.Загрузка файлов Rails с помощью 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;
});
});
CONTROLLER код
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 Внутренняя ошибка сервера):, и я знаю, что сервер показывает нулевой указатель, в контроллере он дает ошибку в этой строке response = resource.post: file => file_param,: multipart => true. Но его запуск выполняется в нормальной форме без ajax.