2

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

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

Object.create(params[:object])

或者

Object.update_attributes(params[:object])

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

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

不推荐上述内容是否有 Rails/Rubyist/API 原因?

4

1 回答 1

2

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

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

至于:Comment.create(params[:content]) 行不通。

做:

Comment.create(content: params[:content])
于 2012-11-26T11:59:55.693 回答