【发布时间】:2015-10-15 21:30:34
【问题描述】:
我有一个使用 rails 中的脚手架生成的 rails api。 我在这个 api 中有一个产品模型。为了测试我的 api,我正在使用 curl 创建产品,目前我一次只能使用 curl 命令创建一个产品
curl -i -H "Accept: application/json" -H "Content-type: application/json" -X POST -d '{"product: {"name":"Felix" }}' http://localhost:3000/products.json
现在我想修改我的 api,使其可以从一个发布请求创建多个产品,以便可以执行类似的请求,并且我可以在一个请求中创建多个产品。
curl -i -H "Accept: application/json" -H "Content-type: application/json" -X POST -d '{products: {"product": {"name":"Felix" }, {"product": {"name":"Felix" } }' http://localhost:3000/products.json
我在两件事上需要帮助
1)如何修改我的创建函数(由脚手架生成),以便它可以创建接受产品数组(数组的长度可以是可变的)并为它们创建多条记录
2) 传递给 curl 以测试实现的功能的数据散列
【问题讨论】:
-
create 方法可以接受一个哈希数组,并会尝试根据哈希的属性创建每个对象,api.rubyonrails.org/classes/ActiveRecord/Persistence/…
-
你能告诉我应该如何在 json 哈希中传递多个产品的数组吗?
-
可能像
'{"product":[{"name":"Felix1"},{"name":"Felix2"}]}' -
如果我不更改我的创建操作并将其传递给我的 curl 命令,那么我会收到此错误 NoMethodError (undefined method `permit' for [{"name"=>" Felix1"}, {"name"=>"Felix2"}]:Array)
标签: ruby-on-rails curl activerecord