首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

Ruby on Rails是一种流行的Web应用程序开发框架,它遵循一种称为RESTful(Representational State Transfer)的设计风格。在RESTful架构中,HTTP动词被用于表示对资源的不同操作,其中PUT用于更新资源,而DELETE用于删除资源。

PUT方法用于更新资源的原因是它具有幂等性和幂等性。幂等性意味着多次执行相同的操作不会产生不同的结果。在Web开发中,这意味着多次执行PUT请求不会导致资源状态的改变。因此,当我们需要更新资源时,使用PUT方法是合适的选择。

相反,DELETE方法用于删除资源。与PUT方法类似,DELETE方法也具有幂等性。多次执行DELETE请求不会导致资源状态的改变。因此,当我们需要删除资源时,使用DELETE方法是合适的选择。

在Ruby on Rails中,开发者遵循RESTful设计风格,将不同的HTTP动词与相应的操作关联起来。这样做的好处是提高了代码的可读性和可维护性。通过使用PUT方法来更新资源和使用DELETE方法来删除资源,我们可以清晰地了解代码的意图和功能。

对于Ruby on Rails开发者来说,了解PUT和DELETE方法的使用是非常重要的。这样可以确保他们能够正确地处理资源的更新和删除操作,并编写出高质量的代码。

腾讯云提供了一系列与Ruby on Rails开发相关的产品和服务,如云服务器、云数据库、云存储等。您可以通过访问腾讯云官方网站(https://cloud.tencent.com/)了解更多关于这些产品的详细信息和使用指南。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

架构之美:教你如何分析一个接口?

为什么要看风格? 它希望你怎样使用它二次开发。 还要维护项目的一致性,必须统一风格。不少项目里共存多种不同风格的接口,就是每个人都在各设计各习惯的接口,导致混乱。...Ruby on Rails模型 Rails标准的基于MVC模型进行开发的Web框架,给行业带来巨大冲击的它的接口设计。...既然资源,它就可以对这些Web信息做各种操作,这些操作对应着HTTP的各种动词(GET、POST、PUTDELETE等)。 REST是为了纠正大家对HTTP的误用。... Rails用一句轻描淡写find_by就解决了所有的问题,而且,这个find_by_title方法还不是我实现的,Rails会替你自动实现。...那样不声明方法就去调用,因为这是Ruby的动态语言特性支持的,Java这种编译型语言做不到的。

2.2K20

总结Web应用中常用的各种Cache

文章以Nginx,Rails,Mysql,Redis作为例子,换成其他web服务器,语言,数据库,缓存服务都是类似的。 以下3层的示意图,方便后续引用: ?...,避免缓存不刷新的问题: class Category < ActiveRecord::Base after_save :delete_static_file after_destroy :delete_static_file...def delete_static_file File.delete Rails.root.join('public', 'categories') endend Rails 4之前...片段缓存 如果前面2种缓存能够用到的场景有限,那么片段缓存适用性最广的。...自带的片段缓存不支持条件的,比如我们想未登陆用户给他用片段缓存,登陆用户不使用,写起来就很麻烦,我们可以改写一下helper就可以了: def cache_if (condition, name

4.7K40
  • Restful 表述性状态传递

    REST使用的数据格式为JSON HTTP方法 GET 获取数据 PUT 用于更新和添加数据 DELETE 用于删除数据 POST 添加数据 RESTful 一种基于http的架构方式 资源与URL REStful...,会删除资源,此时具有副作用,但是多次的副作用是相同的,还是具有其幂等性 POST为创建一个资源,每次副作用都是不同的,即没有幂等性 PUT更新资源,对于同一个URL一次和多次的相同的,此时具有幂等性...GET 安全且幂等,表示一种获取的表示,会有缓存 POST 不安全且不幂等,使用服务器端的管理的实例号生成资源,创建子资源,用于部分更新资源,如果没有修改则不会更新资源(一种乐观锁的表示) PUT PUT...rails 官方网站 https://rubyonrails.org/ 或者名为 Ruby on Rails 一种基于Ruby语言即面向对象,命令式,函数式,动态的通用编程语言,日本科学家发明。...,因为此时客户端决定的 客户端不一定支持HTTP方法 rails 框架通过隐藏参数的方法,达到传递真实请求的方式 资源的表述 客户端获取的只是资源的表述。

    1.3K50

    不要学习“网红”编程语言

    不知道为什么 2020 年这里又有一次断崖式下降,这可能只是 Google 数据出了问题。但不管怎么,状态不好肯定的。...目前质量最高的 Rails 课程之一最后公开更新在 2020 年。当然,go-rails 等其他服务也在提供相关课程,但 Ruby 衰落的趋势已经非常明显。...最近十年来,现代 SaaS 方案中的 API 几乎都不提供官方 Ruby 客户端 SDK。 形成鲜明对比的,Java、JavaScript、Python 甚至 Rust 可都在支持之列。...我能想到的诞生于 2010 年之后、而且运行在 Ruby Rails 上的成功厂商就只有 Stripe(2011 年)和 Gitlab(2014 年)。...那我们是不是不该在职业规划中学习 Ruby 或者 Rails?话可不能这么。市场对于 RailsRuby 开发者的需求仍然相当旺盛,或者市场对任何语言的开发者都需求旺盛。

    2.1K30

    慢的不是 Ruby,而是你的数据库

    其中一部分时间启动时间(在这个用例中很难测量)和 JIT 编译器占据的,另一部分则是 Ruby 中垃圾回收机制的任意启动和停止所有进程所造成的问题。...我个人主要使用 Ruby 编写代码,但很少涉及 Rails(因为我不太喜欢它),不过我个例外。在 Ruby 开发中,几乎总是采用 “用 Rails 进行 Web 开发” 的方式。...其中一个 Rails 的问题它与数据库的高度耦合(也可以说是一种好处)。Rails 专注于掌控数据库的一切。没有数据库,Rails 将毫无用处,甚至可能阻碍工作进展,不是提供帮助 [2]。...我现在将获得更多元数据,不是继续讨论整个堆栈的 “基准” 和火焰图。少谈数字,多谈概念。因为对于 Rails,我确信性能问题概念性的。...如上所述,技术性能问题 Ruby 不是 Rails 引起的。 ActiveRecord(Rails 中的实现,而非模式 per-sé)对系统(关系数据库)的抽象,需要大量详细知识来保持性能。

    13830

    程序员播客(podcast)推荐

    几个主要的主持人牛掰的ruby on rails的程序猿。...It公论 「IT 公论」李如一、李楠和 Rio 创办的科技类播客 (podcast) 节目 内核恐慌 类似IT公论,但更技术一点 IT 乱谈 你想了解大数据与云计算吗,你想知道3D...好久不更新了。练英语听力,学js,两不误~ 三角龙电台 三角龙电台,诞生于公元2010年。...三角龙电台有三个当家DJ,有人他们三角,有人他们聋,还有人在爱音乐的人里他们最不着调,在不着调的人里他们最爱音乐。他们叫自己大勾儿(DJ),他们只挑对得起耳朵的音乐。...他们:“如果没有音乐,我们就会跟三角龙一样绝种;如果音乐太糟,我们宁可跳着脚装聋作哑”。 这不是程序员的podcast。Just for fun!

    2.8K30

    三种主流Web架构

    目前主流的WEB框架像Struts、Webwork(Java),Ruby on Rails(Ruby),Zend Framework(PHP)等都采用这种设计。...为什么呢? 我觉得主要有以下两个问题: (1)效率问题 这里指的不是开发效率,而是代码的执行效率。众所周知,正常情况下,PHP的执行相当高效的。但是目前这种基于控件的框架效率都成问题。...另外,带有组件支持的框架通常对AJAX的支持都较好,比如.NET和Ruby on Rails。...很多时候我更倾向于使用一些JS框架如Prototype来自己开发各种效果,不是在服务器端生成。在服务器端生成JS的两个结果,一对生成的代码不信任,二人变傻,因为你并不知道真正发生了什么。...REST一套简单的设计原则、一种架构风格(模式),不是一种具体的标准架构。

    5.1K71

    ​你回去了解一下RESTful风格

    可以把它理解为一种软件架构风格设计风格,不是一个标准。 简单来说,RESTful风格就是把请求参数变成请求路径的一种风格。 例如,传统的URL请求格式为:http://......GET、HEAD、PUTDELETE请求都是幂等的,无论对资源操作多少次, 结果总是一样的,后面的请求并不会产生比第一次更多的影响。...不过很多人直接把POST、GET、PUTDELETE直接对应上CRUD,例如在一个典型的rails实现的RESTful应用中就是这么做的。...github的API则支持使用PATCH方法来进行issue的更新,例如: PATCH /repos/:owner/:repo/issues/:number 不过,需要注意的,像PATCH这种不是...资源在外界的具体呈现,可以有多种表述(成为表现、表示)形式,在客户端和服务端之间传送的也是资源的表述,不是资源本身。

    82710

    从Web开发者的视角来解读MVC架构

    模型不但能够负责诸如SELECT、INSERT、UPDATE和DELETE之类的查询操作,还能够与控制器进行通信。在大多数情况下,控制器可以通过模型来请求数据,并且控制器来更新视图。...对于Ruby on Rails而言,我们可以使用嵌入式的ERB(https://ruby-doc.org/stdlib/libdoc/erb/rdoc/ERB.html)。...当然,我们还有其他的选项,比如JavaScript。 控制器 ***控制器,它与用户的输入有关。...例如:用户在访问页面时点击某个链接,触发了一个GET请求;或者是以提交表单的形式,发送一个POST请求;当然我们也可以发出删除、提出更新等类型的请求。...此处需要有一个带有HTML和CSS的纯Web页面,就不是真实的模板逻辑。 下面一个非常简单的例子(称流程图)。 ? 如上图所示,用户可以通过浏览器看到应用程序的视图。

    3.5K20

    【周一通勤电台 · 特辑】六千字漫谈2022后端框架流行趋势

    如何为你的技术栈选择最合适的后端开发框架在很大程序上影响着着项目的成败,为什么这么? 框架一个用特定编码语言预先编写和测试的代码包,任何开发人员能够在此基础上进行快读开发。...如果你想必须以非常规的方式做任何事情,ORM就会成为短板,不是得力的工具。 单一的部署。再一次,由于使用ORM,你必须在软件开发的所有方面遵循某些模式,包括部署。...5.3 Ruby on Rails image.png Ruby on Rails一个MVC框架,用于构建基于Ruby的服务器端应用程序,具有默认的数据库结构、网页和服务。...Ruby on Rails一个开源的框架,所以它完全可以免费使用。...Ruby on Rails框架的缺点 运行时性能。虽然各种响应速度和数据库请求基准可能显示Ruby on Rails的性能不如Django,但这并不是一个主要限制。

    4.4K30

    RESTful 架构详解

    GET、HEAD、PUTDELETE请求都是幂等的,无论对资源操作多少次, 结果总是一样的,后面的请求并不会产生比第一次更多的影响。...POST和PUT在创建资源的区别在于,所创建的资源的名称(URI)是否客户端决定。...不过很多人直接把POST、GET、PUTDELETE直接对应上CRUD,例如在一个典型的rails实现的RESTful应用中就是这么做的。...github的API则支持使用PATCH方法来进行issue的更新,例如: PATCH /repos/:owner/:repo/issues/:number 不过,需要注意的,像PATCH这种不是HTTP...资源在外界的具体呈现,可以有多种表述(成为表现、表示)形式,在客户端和服务端之间传送的也是资源的表述,不是资源本身。

    98320

    RESTful架构详解 转

    GET、HEAD、PUTDELETE请求都是幂等的,无论对资源操作多少次, 结果总是一样的,后面的请求并不会产生比第一次更多的影响。...POST 和PUT在创建资源的区别在于,所创建的资源的名称(URI)是否客户端决定。...不过很多人直接把POST、 GET、PUTDELETE直接对应上CRUD,例如在一个典型的rails实现的RESTful应用中就是这么做的。...资源在外界的具体呈现,可以有多种表述(成为表现、表示)形式,在客户端和服务端之间传送的也是资源的表述,不是资源本身。...初看一下,好像自相矛盾了,既然无状态,何来状态转移一? 其实,这里的无状态通信原则,并不是说客户端应用不能有状态,而是指服务端不应该保存客户端状态。

    84131

    畅谈百年编程语言

    ,软件开发发展到今天,差不多已经有 65 年了。框架就更年轻了。断定你的语言框架能活到一百年,这是一个相当大的论断。...当你听到有人Rails 已经消亡”时,你可以肯定他们并不是指“没有程序还在运行 Rails“没有公司还在使用 Rails“没有新项目用 Rails 编写”。...不管怎么,这并不表示 Rails 不被使用不能使用。他们的意思它不再“”。 对于我们现在所讨论的一切,我们可以安全地忽略这种用法。的确如此。...另外,这并不意味着“Ruby 对的,Python 错的”,也不意味着相反。这并不是“更适合 Web”就是好的,“更适合数学和科学”就是不好的。...英语不断吸收新的词汇,这既不是它最大的优势,也不是它最大的弱点。重要的、持续的部分说话者的社区。我们只关心这个社区的词汇。 Java Fortran Ruby 任何你喜欢的语言也是如此。

    26630

    如何使用本地 Docker 更好地开发?我们总结了这八条经验

    这并不是在本地使用 Docker 开发就没有缺点,但它带来的便利远远超过了缺点。 随着时间的推移,我们总结出了自己的一套最佳实践,可以有效设置 Docker 开发环境。...我们的开发环境一般包括(通过 Docker Compose 编配): 应用程序(例如 Rails、Django Phoenix); JavaScript 监视器 / 编译器(例如 webpack-dev-server...6 在 apt-get 更新后进行清理 如果在 Dockerfiles 中引用了基于 Debian 的镜像,你就必须运行 apt-get update,然后才能通过 apt-get install 安装依赖项...我们的最佳实践在一个 RUN 命令中执行更新、安装和清理操作: RUN apt-get update && \ apt-get install -y libgirepository1.0-dev...libpoppler-glib-dev && \ rm -rf /var/lib/apt/lists/* 7 使用 exec 不是 run 如果需要在容器中运行命令,你有两个选项:run 和

    2.1K40

    TW洞见〡Ruby Web服务器:这十五年

    坦率的,作为一门年轻的计算机语言,Ruby在最近二十年里的发展并不算慢。但如果与坐拥豪门的明星语言们相比,Ruby就颇显平民范儿,表现始终不温不火,批评胜于褒奖,下行多过上扬。...同时,一个Webrick服务器还能多个Webrick服务器服务器小程序组合,提供类似虚拟主机路由等功能:例如处理CGI脚本、ERb页面、Ruby块以及目录服务等。...LiteSpeed API/RubyRunner LiteSpeedLiteSpeed Tech公司最初于2002年发布的商用Web服务器,特点与被广泛采用的Apache Web服务器的配置文件兼容...2 闻名天下 z2005年,David Heinemeier Hansson(DHH)发布了基于Ruby的开发框架Ruby on RailsRails),聚光灯第一次聚焦在Ruby身上。...但是业内普遍对Web服务器的方案感到棘手,本地环境Webrick/产品环境FastCGI+通用Web服务器几乎成了标配,无论开发、部署维护都遇到不少困难,一些吃螃蟹的人遂把此视为Rails不如J2EE

    2K100

    Python 和 Ruby 的对比

    Rails能在ruby社区诞生,不是Python社区诞生绝对和编程语言有直接的关系。不过ruby语法灵活的另一面就是编程实现风格的多样性,这对于大规模团队的协作和管理一个挑战。   ...ruby的函数调用括号可省的,稍微少敲几下键盘。python默认没括号也不带参数的话返回函数本身的一个引用。   ...Ruby之所以现在突然变得热门,和rails这套架构分不开的。考虑Ruby,就要考虑到Ruby on railsrails提供了一套非常好的web开发框架,开发效率非常高。...我相信很多很有经验的用户也未必的清楚。   从架构上看,二者虽然实际上相差甚远,但最后表现出来的结果反而很相似。Ruby纯粹的OO语言,Python函数和OO混合型。...这里的高级并不是通常意义上的高级,不是Python的Virtual Machine比Java.NET的功能更强大,而是说和Java .NET相比,Python的Virtual Machine距离真实机器的距离更远

    1.4K20

    elixir:灵丹妙药?or 徒有其名?

    噢,我忘了介绍,Joe老爷子Erlang的创始人,JoseElixir的创始人(之前Rails的core member),两人看上去相差三十岁。...所以大家看编程的话,最好看语言作者的,实在没有,也要看社区里的大牛的 —— 因为他们聊的不是语法(当然也不是寂寞 ^_^)!...Ruby也支持macro,任何从lisp演进或者接受lisp思想的语言也支持macro,为什么Elixir支持macro如此特殊?...目前已有的支持macro的语言,macro更多地被用作突破语法的极限 —— 要么用于定义DSL让代码简洁,如rails;要么用于生成繁杂的接口代码不必手工撰写。...比如众所周知的敏感词过滤。敏感词词库一更新,只需要重新编译出新的代码,加载即可(BEAM支持hot code reload)。 再讲一些做系统的新思路: ✓ 用户名保留。

    1.5K50

    《Prometheus监控实战》第8章 监控应用程序

    不构建指标监控将存在严重的业务和运营风险,这将导致 无法识别诊断故障 无法衡量应用程序的运行性能 无法衡量应用程序组件的业务指标以及成功与否,例如跟踪销售数据交易价值 另一种常见的反模式监控力度不足...人们经常会抱怨数据太少,但很少会担心数据太多 注意:在存储容量的限制范围内,因超出容量导致监控停止工作显然不可取的。...email-payment指标用于计算发送的付款电子邮件的数量 8.2.5 外部模式 如果你不能控制代码库,无法在代码中插入监控测量内容,或者可能无法更改更新旧应用程序,那么该怎么办?...最显著的地方应用程序周围的输出和外部子系统,例如数据库缓存 如果应用程序发出日志,那么可以识别日志包含的内容,并查看是否可以使用这些内容来衡量应用程序的行为 8.2.6 监控应用程序示例 mwp-rails.../prometheus/client_ruby) 添加客户端 代码清单:mwp-rails Gemfile source 'https://rubygems.org' ruby '2.4.2' gem

    4.6K11

    GitHub 上有哪些项目能帮你更好的学习编程?

    Rails Girls 指南 Ruby on Rails 一个基于 Ruby 语言的 Web 开发框架,由于其倡导敏捷开发、不写重复代码的原则受到了许多 Web 开发者的追捧。... Rails Girls 恰好就是其中一个组织,该组织于 2010 年在芬兰首都赫尔辛基创建,目的希望能帮助更多女生更好的学习、使用 Rails。...另一方面,由于 Rails 构建于 Ruby 之上的,所以该教程也会传授一些 Ruby 的入门知识,Web 开发与脚本开发一起学,一举两得,美滋滋~ 关注 GitHubDaily 公众号,后台回复「412...基于实际项目学编程 《You Don't Know JS》作者 Kyle Simpson 曾经过这么一句话,被诸多开发者广为引用: “The best way to learn how to write...---- 以上就是本期分享的内容,大家有什么意见建议也可以在评论区多多留言讨论。

    1.1K20
    领券