2012-02-10 16 views
3

私はajax delete呼び出しを作成したいと思います。リンクをクリックすると、確認ボックスが表示され、pタグがフェードアウト(コメント)します。問題は、ちょうどajax呼び出しがどのようにするべきか、確認ボックスを表示する方法です。Rails delete link JavaScript ajax call

HTMLビュー:

<a rel="nofollow" data-method="delete" data-confirm="Er du sikker?" class="softdelete" href="/blogs/5/comments/18">slet</a> 

のjQuery:

<script type="text/javascript"> 
$(document).ready(function() { 
    $('.softdelete').click(function() { 
     var Url = $(this).attr('href'); 
     var Data = $(this).attr('data-method'); 
     $(this).closest('p').fadeOut(1000); 
     $.post(Url); 
     return false; 
    }); 
}); 
</script> 

削除リンクをクリックすると、コメントがフェードアウトし、それが破壊されていません。確認ボックスも表示されませんでした。

答えて

7

あなたはpostリクエストを使用しているため、アクションは正しくルーティングされません。つまり、Railsはdeleteリクエストを受け取ります。ここで

はjQueryを使って続行する方法です:

$.ajax({ 
    url: your_url, 
    type: 'DELETE', 
    success: function(result) { 
    // Do something with the result 
    } 
}); 
+0

確認ボックスを表示する方法は?投稿のような削除要求のためのショートカットはありませんか? –

+0

ダイアログボックスを作成するには無数の方法がありますが、それは実際にあなたが期待するものに依存します。私は削除メソッドのためのショートカットを知らない。 – apneadiving

+0

Railsのjavascriptダイヤルボックスはどうなっていますか?それを呼び出すことはできませんか? –