gpt4 book ai didi

ruby-on-rails - 对 PUT 使用典型的 GET 操作有什么坏处吗? (平静地说)

转载 作者:行者123 更新时间:2023-12-02 05:32:17 25 4
gpt4 key购买 nike

我有一个不需要表单的操作。所以它实际上只需要一个“编辑”方法,而不是 RESTful 的“编辑”-->“更新”。有什么理由不这样做或者有更好的方法吗?

def edit
#Do a POST(PUT)
end

最佳答案

危害在于用户可以轻松导航到该 URL 并执行潜在的破坏性操作。

/noform/edit   #URL typed by user => Action Performed
/noform/update #URL typed by user => Error is thrown, No Action Performed

正常的浏览体验会向服务器生成 GET 请求。假设是,您可以轻松导航到(或在地址栏中输入)的任何页面都不会执行任何数据更改功能。

通过表单提交或 AJAX 请求生成的 POST 请求期望得到服务器上数据更改的结果。

类似地,PUTDELETE 的两个 Rails“伪造”版本也不是您可以简单地使用浏览器导航到的操作。

解决方案

解决方案是仅使用 update 操作,并且您最初链接到 edit 的位置使用如下所示的内容:

button_to "Add new tracker", noform_path, :method => :put

如果存在任何类型的错误,您可能仍然需要一个编辑路径来向用户显示,以便他们可以更正某些内容。但根据您的描述,单个 update 操作应该可以解决问题。

关于ruby-on-rails - 对 PUT 使用典型的 GET 操作有什么坏处吗? (平静地说),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2170125/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com