我是Ruby on Rails的新手。为什么Rails中RESTful路由的更新操作映射到两个HTTP动词,即PATCH和PUT?
PATCH /articles/:id(.:format) articles#update
PUT /articles/:id(.:format) articles#update
更新资源(通用CRUD)时,调用两者中的哪个方法?
答案 0 :(得分:4)
按照 HTTP 标准执行请求类型。
@Mikhail如何在概念上提到:
PATCH
是一种正确的请求类型,当您只想更新部分内容时
你的对象PUT
是您希望完全覆盖对象时的标准方式
新数据虽然在Rails中这一切都可以通过单个update
操作轻松完成,而差异只是传递params
,然后 Rails 会生成两条路线来覆盖标准,但是没有必要为此做出2个不同的控制器动作。
据我所知 Rails 默认使用PUT
,但您可以使用其中任何一个。只需按照提到的概念规则