2016-04-09 11 views
1

検索していますが、this php questionを除いて、私の質問に近いものはありません。AJAX Image React、Rails、Paperclipでアップロードする

私のリアクションコンポーネントでは、Rails 5を使用して、フォームを提出した場合にのみS3に画像をアップロードできます。私は、ページを更新したくないので、私は単にそのためにAJAXを使用と考えていた:(AJAX URLが見つかっザ・更新方法に行く

<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> 

... 

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方法は問題ありません):

... 

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:

私はこの問題hereとシンプルなレール5のアプリを作成しました。

答えて

0

フォーム内でthisをメソッド内で使用することはできません。 refsをお試しください。

<form ref="myForm" ...> 
... 
var formData = $(this.refs.myForm).serialize(); 
+0

感謝を。私はそれを試みましたが、 'update'メソッドでエラーが発生しました。最新の記事を参照してください。 – Sylar

+0

まだ同じ問題があります。私の更新された記事を見てください。 – Sylar

0

あなたが試してみました:

<form remote="true"...> 
+0

こんにちは。私は最初からプロジェクトを再開しているので、数週間後にお知らせします。 – Sylar

+0

同じ問題を示す簡単なアプリで投稿を更新しました。 – Sylar

関連する問題