刪除請求不是完整的真正的刪除請求。它實際上是僞造的,就像你在保存的對象上使用form_for時的放置請求一樣。據我所知,沒有理由不使用所提供的REST約定。
另一個說明,是你自己的代碼片段,或一個例子?有點好奇你爲什麼要檢查你正在刪除的記錄是否與父母關聯。我想總有這樣的可能性,就是在你點擊刪除的時間點之間,並且它已經接到請求,有人在其他地方改變了它的父母。
編輯,這裏是當我點擊刪除鏈接在軌道3支架應用的標題信息:
Request URL:http://phone_qa.dev/sites/2
Request Method:POST
Status Code:302 Moved Temporarily
Request Headersview source
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Cache-Control:max-age=0
Connection:keep-alive
Content-Length:86
Content-Type:application/x-www-form-urlencoded
Cookie: _phone_qa_session=BAh7B0kiD3Nlc3Npb25faWQGOgZFRkkiJTg4Y2Q4ZTgyOGYwM2IyMWI1N2Y4MjYyMTcwMzJiMzMwBjsAVEkiEF9jc3JmX3Rva2VuBjsARkkiMVY0QkFIOXdzRFZXZi9yYnlkODJCUEdLTisvT2V6dVpkVDYyckkyR3JQSzg9BjsARg%3D%3D--e8244fd59e5fc34b37a93c2e768ace7a3bfffe44
Host:phone_qa.dev
Origin:http://phone_qa.dev
Referer:http://phone_qa.dev/sites
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.107 Safari/535.1
Form Dataview URL encoded
_method:delete
authenticity_token:V4BAH9wsDVWf/rbyd82BPGKN /OezuZdT62rI2GrPK8=
你可以看到它實際上是如何的一個POST請求,但根據表單數據,有一個變量所謂的_method與值刪除。
除了別人提供的信息之外,它還確保請求不是獲取請求,可以由抓取工具觸發,也不希望丟失站點上的所有數據,因爲有人試圖不小心抓取它。 – rubish