为什么Ruby on Rails书或引用总是说更新是由PUT而Destroy是由DELETE而不是?

因为如果我使用Fiddler来监控它,它是:

CRUD Method Path With Idempotent? action ---- ------ ---- ---- ----------- ------ Create POST /foos/ No create Retrieve GET /foos/:id Yes show Update POST /foos/:id _method=put Yes update Destroy POST /foos/:id _method=delete Yes destroy 

所以实际上并没有使用PUTDELETE (作为HTTP动词)。 但为什么Rails书籍和参考文献总是说它是PUTDELETE

因为Web 浏览器没有生成PUTDELETE请求的接口。

当然,您PUT客户端具有足够的灵活性,可以按预期使用PUTDELETE ,但浏览器实际上只能使用GETPOST

因为它们应该是PUT和DELETE,但许多开箱即用的服务器不支持PUT和DELETE,因此它们通过POST进行隧道传输。