2016-08-15 8 views
0

写真がアップロードに失敗した場合を除き、すべてがdropzone.jsで問題なく動作しています。dropzone.jsがエラー時にエラーを正しくリダイレ​​クトまたはレンダリングしない

フォームが写真で提出される場合には大きすぎるか、フォームが以下の問題が発生したフォトずに提出されている添付:Herokuのコンソールで

はPOST「/写真」のスタート。 PhotosControllerの#で..Processingは= "/写真

ブラウザは、その後example.com/photosを示すが、画面に何も表示されないHTML 完成した422処理不能エンティティ...メソッド= POSTパスとして作成します。

$(document).ready(function() { 
    var dropzone; 
    Dropzone.autoDiscover = false; 
    dropzone = new Dropzone('#dropform', { 
    maxFiles: 1, 
    maxFilesize: 1, 
    paramName: 'photo[picture]', 
    headers: { 
     "X-CSRF-Token": $('meta[name="csrf-token"]').attr('content') 
    }, 
    addRemoveLinks: true, 
    clickable: '#image-preview', 
    previewsContainer: '#image-preview', 
    thumbnailWidth: 200, 
    thumbnailHeight: 200, 
    parallelUploads: 100, 
    autoProcessQueue: false, 
    uploadMultiple: false 
    }); 
    $('#item-submit').click(function(e) { 
    e.preventDefault(); 
    e.stopPropagation(); 
    if (dropzone.getQueuedFiles().length > 0) { 
     return dropzone.processQueue(); 
    } 
    else { 
     return $('#dropform').submit(); 
    } 

    }); 
    return dropzone.on('success', function(file, responseText) { 
    return window.location.href = '/photos/' + responseText.id; 
    }); 
    return dropzone.on('error', function(file, errorMessage, xhr) { 
    console.log('error'); 
    }); 
}); 

をPhotosController

def create 
    @photo = current_user.photos.build(photo_params) 
    respond_to do |format| 
     if @photo.save! 
     format.html { redirect_to @photo, notice: 'Photo was successfully created.' } 
     format.json { render json: @photo } 
     else 
     format.html { redirect_to new_photos_path, notice: 'Photo was not created'} 
     format.json { redirect_to photos_path and return @photo.errors, status: :unprocessable_entity } 
     end 
    end 
    end 

編集

return dropzone.on('error', function(file, errorMessage, xhr) { 
    console.log('error'); 
    window.location.href = '/photos/new' 
}); 

結果で:

がPOSTを開始「/写真"PhotosController#による処理はHTMLとして作成 ... 422ms(ActiveRecord:14.5ms)で422の処理不能なエンティティを完了 ...メソッド= GETパス="/photos/new "...メソッド= POSTパス="/photos 「

し、我々は戻って

答えて

0
redirect_to new_photos_path 

があるべき空白example.com/photosにある - >

redirect_to new_photo_path 
+0

こんにちはティミー。あなたのコードだけの答えは、ある状況ではもっと役に立つでしょう。たとえば、このコードの変更が必要と思われる理由を説明することができます。なぜそれが質問者の問題を解決するのだろうか。 –

関連する問題