为什么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
所以实际上并没有使用PUT
和DELETE
(作为HTTP动词)。 但为什么Rails书籍和参考文献总是说它是PUT
和DELETE
?
因为Web 浏览器没有生成PUT
或DELETE
请求的接口。
当然,您PUT
客户端具有足够的灵活性,可以按预期使用PUT
和DELETE
,但浏览器实际上只能使用GET
和POST
。
因为它们应该是PUT和DELETE,但许多开箱即用的服务器不支持PUT和DELETE,因此它们通过POST进行隧道传输。