Был поиск, но ничего не было близко к моему вопросу, кроме this php question.AJAX Загрузка изображения с помощью React, Rails и Paperclip
В моем компоненте, использующем Rails 5, я мог загрузить изображение на S3, только если я отправить форму; Я не хочу, чтобы обновить страницу, так что я думал, что я мог бы просто использовать AJAX для этого:
...
imageUpload(){
var formData = $(this).serialize();
$.ajax({
url: '<url>',
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
success: function (data) {
console.log(data);
},
error: function() {
alert("error in ajax form submission");
}
});
},
...
HTML-:
<form encType="multipart/form-data" acceptCharset="UTF-8">
<input
type="file"
name="user[evidence]"
id="user_evidence"
/>
<button className="success button small" onClick={this.imageUpload}>Upload</button>
</form>
ГОЕС методу обновления Ajax (URL находит метод не проблема):
...
def update
u = User.find(1)
u.update_attributes(user_evidence) # causing ajax to return an error
end
private
def user_evidence
params.require(:user).permit(:evidence)
end
При добавлении изображения и нажатии кнопки ничего не загружается на s3. Думаю, я пропустил какой-то удаленный информацию с ajax?
EDIT:
Я создал простой рельсы 5 приложения с этой проблемой here.
Спасибо. Я пробовал это, но получаю сообщение об ошибке с методом 'update'. См. Обновленное сообщение. – Sylar
Еще одна проблема. См. Мое обновленное сообщение. – Sylar