ruby-on-rails - Rails 中 RESTful 路由的更新操作(PATCH 或 PUT)

标签 ruby-on-rails ruby-on-rails-4 ruby-on-rails-5

我是 Ruby on Rails 的新手。为什么 Rails 中 RESTful 路由的更新操作映射到两个 HTTP 动词,即 PATCH 和 PUT?

   PATCH  /articles/:id(.:format)      articles#update
   PUT    /articles/:id(.:format)      articles#update

当我更新资源(一般 CRUD )时,会调用这两者中的哪个方法?

最佳答案

做完关注 HTTP 请求类型的标准。

@Mikhail 如何从概念上提到:

  • PATCH是正确的请求类型,当您只想更新部分
    您的对象
  • PUT当您喜欢完全覆盖您的对象时,这是一种标准方式
    新数据

  • 而在 Rails 中,这两个都可以通过单个 update 轻松完成。 Action 和区别就在过去params ,然后 rails 制作两条路线来覆盖标准,但实际上没有必要为此制作 2 个不同的 Controller Action 。

    据我所知 rails 用途 PUT默认情况下,但您可以使用其中任何一个。只需遵循提到的概念规则

    关于ruby-on-rails - Rails 中 RESTful 路由的更新操作(PATCH 或 PUT),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47347250/

    相关文章:

    ruby-on-rails - rails - 导出一个巨大的 CSV 文件会消耗生产中的所有 RAM

    ruby-on-rails - ActionCable 在 Rails 5 RESTful API 开发中的使用?

    css - Rails Simple Form Bootstrap - 复选框内联垂直对齐

    css - Stylesheet_link_tag 已损坏,文件路径不起作用,我这辈子都想不通为什么。有任何想法吗?

    ruby-on-rails - Rails + git + heroku - git 推送时出错

    angularjs - 在 Rails 中向 simple_form 添加 Angular 指令会破坏集合输入的选定选项

    ruby-on-rails - rails : How to check which form in a view was submitted

    javascript - 使用 AngularJS 在 Rails 4 中显示数据库条目

    ruby-on-rails - 如何在同一功能下为所有场景运行一次 Cucumber 后台步骤?

    ruby-on-rails - 使新哈希从 {"sample"=> "sample"} 到 { :sample => "sample"}