3

在 Rails 中,您是否可以使用 URL 更新字段。那叫RESTful吗?

例如,是否应该使用与此类似的东西来更新 id=2 的工作订单的 workorder.wostatus_id?

http://localhost:5000/workorders/2?wostatus_id=4

谢谢!

4

2 回答 2

1

您必须调用 URL 来执行任何更新,但您需要使用 POST 或 PUT 请求。POST 创建,PUT 更新,但我相信 Rails 对 PUT 使用“data-action”属性,然后实际上在幕后调用 POST。

只需将 URL 放入浏览器中,就像您提供的那样,默认情况下会执行 GET 请求,该请求永远不应该用于更改数据,只能用于检索它。

这是一个很好的教程,它解释了 REST 的基础知识:REST API 教程

Rails 截屏视频的其余部分也很有帮助。

于 2013-01-08T15:52:02.287 回答
1

在您提供的情况下,它不应该工作,因为更新应该通过PUT请求执行,尽管如果 URL 是通过请求的,PUT那么它应该可以工作。

记住这个想法是:

  • GET访问和检索数据
  • PUT更新数据
  • POST创建数据
  • DELETE删除数据

编辑:实际参数名称通常会因控制器实现而异,因此在您经常发现的 rails?workorder[wostatus_id]=4中,它将引用模型名称。

于 2013-01-08T15:53:26.293 回答