ruby-on-rails - Rails REST API POST 参数

标签 ruby-on-rails ruby api rest

我正在使用 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/

相关文章:

ruby - 如何并行启动 Ruby 命令

c# - 如何在 Rake 任务中使用带空格的路径?

ruby-on-rails - self 在 Rails 模型中的值(value)是什么?为什么没有明显的实例方法可用?

node.js - 如何允许特定服务器访问我的API?

php - 如何显示 API 请求的自定义验证错误消息?

mysql - Docker Passenger Dashboard 显示 MySQL 无法连接到套接字

mysql - Phusion 乘客 - ActiveRecord::PendingMigrationError

api - Quick Books API playground - 开发应用只能订阅沙盒公司

ruby-on-rails - 我如何用 Rails 交换这个链接?

ruby-on-rails - 设计未显示的 log_in 错误