del*_*006 10 ruby post json curl ruby-on-rails
我设置了一个简单的新rails应用程序,带有模型入口,属性title和content使用脚手架.
现在我正在尝试使用curl来发布JSON数据(而不是使用浏览器).
以下似乎工作(即成功发布空数据):
curl --verbose --header "Accept: application/json" --header "Content-type: application/json" --request POST --data "" http://localhost:3000/entries
Run Code Online (Sandbox Code Playgroud)
以下不起作用:
curl --verbose --header "Accept: application/json" --header "Content-type: application/json" --request POST --data "{'content':'I belong to AAA','title':'AAA'}" http://localhost:3000/entries
Run Code Online (Sandbox Code Playgroud)
我尝试了很多变化.我得到的错误主要是JSON数据中未找到主机或意外令牌.
小智 6
为了配合Jonathan所说的内容,Post现在将数据发送到EntriesController.现在,在您的create操作中,您必须从params哈希中获取数据.我会假设你这样做是有条不紊的,所以你会做这样的事情:
curl -d 'entry[content]=I belong to AAA' -d entry[title]=AAA http://localhost:3000/entries'
Run Code Online (Sandbox Code Playgroud)
在你的控制器中
Entry.create(params[:entry])
Run Code Online (Sandbox Code Playgroud)
这表示从params哈希(由rails为你创建)中获取"entry"数据,并将其作为参数传递给Entry以初始化一个新Object."create"将在一个方法调用中为您执行"新建"和"保存".
| 归档时间: |
|
| 查看次数: |
10814 次 |
| 最近记录: |