2013-03-30 85 views
0

delete和destroy有什麼區別?Rails中的刪除方法

如果我們生成一個腳手架,刪除日期條目的默認方法是method: :delete,而控制器中實際上沒有定義刪除。那麼,軌道如何真正找出如何做?

回答

4

DELETEHTTP動詞,而destroy是控制器中的動作。如果您在應用程序中使用資源,則HTTP DELETE請求將路由到控制器中的destroy操作(除非更改默認行爲)。

method: :delete in link_to選項意味着點擊鏈接將觸發HTTP DELETE請求。

-1

據我所知:

Delete方法使用SQL DELETE聲明沒有實例化對象或運行任何回調。

Destroy對數據庫進行SQL調用,並刪除當前對象所在表中的行,只要您有它的作用域,您仍然可以管理該對象。

希望這會有所幫助。

+0

OneZero顯然指的是http請求提及'method :: delete' - 而不是SQL語句。 – weltschmerz

+0

哦,我的壞。我讀錯了:(對不起 –