我正在使用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原因导致不建议使用上述内容?
答案 0 :(得分:2)
Rails表单助手通常将对象属性包装在一个以对象命名的数组中,并在params中可用。
你可以决定以不同的方式格式化你的参数,这是最好的,只是避免命名冲突。
至于:Comment.create(params[:content])
无效。
执行:
Comment.create(content: params[:content])