2

DELETE /sessionsRESTful Play 2.0アプリケーションを使用していますが、ブラウザーのリンクから呼び出したいのですが。

どうすればよいですか?Railsには、_methodGET / POST以外のリクエストにクエリパラメータを使用するという慣習がありますが、Playのドキュメントにはこれについては記載されていません。

また、別のフォームを作成する必要がありますか、それともXMLHttpRequestリンクからメソッドを呼び出すために必要ですか、それともhrefRailsのdata-method属性のようなものがありますか?

4

1 に答える 1

0

共通リンクではそれを行いません。

Google グループの同様のトピックから引用:

リンク (A タグ) は、DELETE メソッドで動作するようには意図されていません。リンクのセマンティックは、GET 要求を使用して取得できる別のリソースに「リンク」することです。Ajax で、または POST メソッドを使用し、名前が「X-HTTP-Method-Override」で値が「DELETE」の非表示の入力を含むフォームで、DELETE リクエストを実行できます。

つまり、アイテムを削除するには GET を使用する必要があります。

conf/routes:

GET   /delete/:itemId    controllers.Application.deleteItem(itemid : Long)

あなたの見解では:

<a href="@routes.Application.deleteItem(item.id)">Delete @item.name</a>

または AJAX 呼び出しで:

<script type="text/javascript">
    $.ajax({
        url:"@routes.Application.actionToDeleteSomething()",
        type:"DELETE"
    });
</script>
于 2012-05-06T18:00:21.667 に答える