Rails REST API POST参数

时间:2012-11-26 11:54:28

标签: ruby-on-rails ruby api rest

我正在使用Rails构建一个RESTful(或者主要是RESTful ...)API,并且有一个简单的问题,我一直在寻找答案。

基本上,似乎Rails约定是在POST和PUT调用上将属性包装在资源名称中。我的意思通常是你在控制器内以下列方式创建或更新对象:

Object.create(params[:object])

Object.update_attributes(params[:object])

我的问题是;是否有一个原因?如果我有一个简单的类,比如说一个只有内容属性的Comment类,我可以有以下

Comment.create(content: params[:content])

是否有Rails / Rubyist / API原因导致不建议使用上述内容?

1 个答案:

答案 0 :(得分:2)

Rails表单助手通常将对象属性包装在一个以对象命名的数组中,并在params中可用。

你可以决定以不同的方式格式化你的参数,这是最好的,只是避免命名冲突。

至于:Comment.create(params[:content]) 无效。

执行:

Comment.create(content: params[:content])