6

削除操作と配置操作をどのように実行しますか?ドキュメントを読み、すべてを適切に実行していると思いましたが、動作させることができないようです。

たとえば、従業員を削除したい場合は、「EmployeesController」というコントローラーを作成し、削除を実行するためのdestroyメソッドを作成します。

次に、routes.rbファイルに移動しmap.resources :employees、を入力しました。これにより、URLヘルパー関数にアクセスできます。

Ajaxオペレーションを呼び出したいものは何でも、次のような行が必要です。

<%= link_to_remote "Delete", employee_path(@employee), :method => :delete %>

リンクをクリックしても、POST操作が送信されているため、何も実行されません。

私は何が欠けているか、間違っていますか?

4

4 に答える 4

6

試す

:url => employee_url(@employee)

IIRC、 *_path は、メソッドを含む :resource ディレクティブによって生成される名前付きルートであるため、 :method => :delete を上書きします

于 2008-10-02T14:28:45.100 に答える
4

From my code:

<%= link_to_remote "Delete", :url => post_url(post), :method => :delete %>
于 2008-10-02T14:32:28.663 に答える
0

いくつかの追加の詳細を追加するだけです:(:url => employee_url(@employee)受け入れられた回答から)の使用。私を混乱させていた他の部分は、HTTP削除リクエストを期待していたという事実でしたが、削除するように設定されたパラメーター「_method」(レールによって自動的に追加された)を使用してPOSTリクエストを取得し続けました。

したがって、適切な破棄アクションを呼び出していました。これは、コントローラーにいくつかのデバッグ ステートメントを追加することで証明されました。はい、コントローラーの削除コードが間違っていたので、思ったときに実際には削除されていませんでした。

于 2008-10-03T23:13:15.787 に答える
-1

問題に AJAX リクエストがない場合は、適切な JavaScript タグを追加する必要があります

于 2010-08-21T11:32:31.150 に答える