私はRESTfulなPlay 2.0アプリケーションを持っており、ブラウザのリンクからDELETE /sessions
に電話したいと思います。Playで非GET/POST HTTPメソッドを呼び出すにはどうすればよいですか?
どうすればよいですか? Railsは非GET/POST要求に対して_method
クエリパラメータを使用するという慣例を持っていますが、Playのドキュメントではこれについて言及していません。
また、リンクのhref
からメソッドを呼び出すには別のフォームまたはXMLHttpRequest
を作成する必要がありますか、それともRailsのdata-method
属性のようなものがありますか?
正しいと思われます。しかし、私はそのような特定のクライアント固有の問題がサーバーに反映されてはならないと言います。さらに、RESTのパラダイムが今や壊れているという事実。だから、というタグを使わずに、例えばリンクのようにレンダリングされるを使うのがいいでしょう。そして、経路にDELETEを保持してください。または少なくとも、GETとDELETEの両方を同じコントローラを対象とした経路に残してください –
答えをありがとうございますが、私はAndyとの間で、専用URLの追加が間違っていると思います。代わりに 'routes.conf'に' DELETE'メソッドを残しておき、ユーザーがリンクをクリックすると、document.locationを設定する成功コールバックでDELETEメソッドへのAjax呼び出しを行うJavaScript関数を呼び出します.hrefを宛先ページに追加します。まだハッキーですが、それはクライアントを醜くし、RESTをそのままにします。 – Bill
'GET' HTTPリクエストでリソースを削除してはいけません。 –