削除と破棄の違いは何ですか?
scaffold を生成する場合、日付エントリを削除するデフォルトのメソッドは ですがmethod: :delete
、delete は実際にはコントローラーで定義されていません。では、Rails は実際に何をすべきかをどのように判断するのでしょうか?
削除と破棄の違いは何ですか?
scaffold を生成する場合、日付エントリを削除するデフォルトのメソッドは ですがmethod: :delete
、delete は実際にはコントローラーで定義されていません。では、Rails は実際に何をすべきかをどのように判断するのでしょうか?
DELETE
はHTTP
動詞destroy
ですが、 はコントローラーのアクションです。アプリケーションでリソースを使用する場合、HTTP DELETE
リクエストはコントローラーのアクションにルーティングされdestroy
ます (デフォルトの動作を変更しない限り)。
method: :delete
link_to
オプションの は、リンクをクリックするとHTTP DELETE
リクエストがトリガーされることを意味します。
私の知る限りでは:
Delete
メソッドはSQL DELETE
、オブジェクトをインスタンス化したり、コールバックを実行したりせずにステートメントを使用します。
Destroy
データベースへの SQL 呼び出しを行い、現在のオブジェクトが含まれているテーブルの行を削除します。スコープが設定されている限り、オブジェクトを引き続き管理できます。
お役に立てれば。