2016-05-16 9 views
0

を削除します。カスタムダイアログモーダルは、法なしで動作していない:私はこのようになりますカスタムダイアログを持つ

$(function() { 
    $.rails.allowAction = function(link) { 
     if (!link.attr('data-confirm')) { 
      return true; 
     } 
     $.rails.showConfirmDialog(link); 
     return false; 
    }; 
    $.rails.confirmed = function(link) { 
     link.removeAttr('data-confirm'); 
     return link.trigger('click.rails'); 
    }; 
    return $.rails.showConfirmDialog = function(link) { 
     var html, message; 
     message = link.attr('data-confirm'); 
     html = "<div class=\"modal\" id=\"confirmationDialog\">\n <div class=\"modal-dialog\">\n <div class=\"modal-content\">\n  <div class=\"modal-header\">\n  <a class=\"close\" data-dismiss=\"modal\">×</a>\n  <h4>" + message + "</h4>\n  </div>\n  <div class=\"modal-footer\">\n  <a data-dismiss=\"modal\" class=\"btn btn-info\">" + "Cancel" + "</a>\n  <a data-dismiss=\"modal\" class=\"btn btn-primary confirm\">" + "Confirm" + "</a>\n  </div>\n </div>\n </div>\n</div>"; 
     $(html).modal(); 
     return $('#confirmationDialog .confirm').on('click', function() { 
      return $.rails.confirmed(link); 
     }); 
    }; 
}); 

カスタムダイアログで働いて、私はこの方法を使用する場合:削除し、私もdoesnの削除ボタンを持っています

<%= link_to delete_file_path(current_user), data: { confirm: "Are you sure?" }, class: "btn btn-default btn-sm " do %> 
     <span class="glyphicon glyphicon-trash"></span> 
    <% end %> 

このリンクボタンを使用すると、カスタムダイアログが表示されますが、[OK]をクリックすると何も起こりません。

答えて

1

コントローラアクションは、クライアントから送信されたURLとHTTPメソッドの両方によってルーティングされます。 destroyアクションを実行しようとしているため、リクエストとともにdeleteアクションを送信する必要があります。そうでない場合は、link_toGETを送信します。このため、method: :deleteが防止対違反の場合、リンクの動作が異なります。

+0

この削除リンクはカスタムダイアログなしでうまくいきます。メソッド削除を実行すると 'No route matches [DELETE] '/delete_file.1" ' – terrorista

+0

あなたのヘルパーメソッドはルート定義と一致しません。あなたの 'routes.rb'をここに投稿できますか? –

+0

'get 'delete_file' =>" analyze#delete_file "'これはメソッドなし::delete – terrorista

関連する問題