我正在使用 Rails 构建一个 RESTful(或主要是 RESTful...)API,并且有一个简单的问题,我一直在努力寻找答案。
本质上,Rails 约定似乎是在 POST 和 PUT 调用时将属性包装在资源名称内。我的意思是通常您在 Controller 内以以下方式创建或更新对象:
Object.create(params[:object])
或
Object.update_attributes(params[:object])
我的问题是;是否有一个原因?如果我有一个简单的类,比如 Comment 类,它只有一个内容属性,我可以有以下内容
Comment.create(content: params[:content])
Rails/Rubyist/API 是否有不推荐上述内容的原因?
最佳答案
Rails 表单助手通常将对象属性包装在从对象命名并在参数中可用的数组中。
您可以决定以不同的方式设置参数格式,这取决于您,只是避免命名冲突。
至于: Comment.create(params[:content])
将不起作用。
做:
Comment.create(content: params[:content])
关于ruby-on-rails - Rails REST API POST 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13564346/