rails RESTful更新

时间:2013-01-08 15:50:08

标签: ruby-on-rails

在Rails中,您是否应该能够使用URL更新字段。 这叫做RESTful吗?

例如,如果类似于此工作更新workorder.wostatus_id for work = id = 2?

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

谢谢!

2 个答案:

答案 0 :(得分:1)

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

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

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

Rest for Rails screencast也非常有帮助。

答案 1 :(得分:1)

如果你提供了不应该工作的情况,因为更新应该通过PUT请求执行,尽管如果通过PUT请求了网址,那么它应该有用。

记住这个想法是:

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

编辑:实际的参数名称通常会因控制器实现而有所不同,因此在rails中经常会找到?workorder[wostatus_id]=4,它会引用模型名称。