Ruby on rails 在GET请求中更改数据可以吗?

Ruby on rails 在GET请求中更改数据可以吗?,ruby-on-rails,ruby,http,web,Ruby On Rails,Ruby,Http,Web,我正在添加电子邮件确认,当用户单击电子邮件激活链接时,它会发出get请求以获取注册页面并填充注册表单。但是,在此操作中,我还想将我的用户的email_confirm属性更新为true。我听说过永远不要更改get请求中的数据,但我不知道还有什么其他方法可以做到这一点。虽然不更改get请求中的数据是一种很好的做法,但在某些情况下,您别无选择,这就是其中之一 HTML锚(标记)只能向服务器提交GET请求。要使用其他方法(POST、PATCH等),您必须使用JavaScript,但您不能依赖收件人的电子

我正在添加电子邮件确认,当用户单击电子邮件激活链接时,它会发出get请求以获取注册页面并填充注册表单。但是,在此操作中,我还想将我的用户的email_confirm属性更新为true。我听说过永远不要更改get请求中的数据,但我不知道还有什么其他方法可以做到这一点。

虽然不更改get请求中的数据是一种很好的做法,但在某些情况下,您别无选择,这就是其中之一


HTML锚(
标记)只能向服务器提交GET请求。要使用其他方法(POST、PATCH等),您必须使用JavaScript,但您不能依赖收件人的电子邮件客户端来运行它。

最好不要更改GET请求中的数据。它不是在语言或框架级别强制执行的


你可以做的是在“获取”页面上显示一个确认电子邮件按钮,该按钮发出POST请求。

这是一个实用性胜过迂腐的例子。HTTP GET确实应该是一个非修改且幂等的操作。但有时候,在这些情况下,获得比张贴或放置要简单得多。这对于测试也很好,只需将URL粘贴到浏览器中:)

为GET服务的页面可以包含一个按钮,该按钮触发修改状态的实际(POST)操作