将发布请求发送到Rails应用时,Curl命令失败

马克·洛克利尔

我有以下路线:

match '/curl_example' => 'people#curl_post_example', via: :post

在我的控制器中:

class PeopleController < ApplicationController
  before_action :set_person, only: [:show, :edit, :update, :destroy]
  skip_before_action :verify_authenticity_token, :only => [:curl_post_example]
...
  def curl_post_example
    Person.create(request.body.read)
    render plain: "Thanks for sending a POST request with cURL! Payload: #{request.body.read}"
  end
...

我正在尝试通过curl命令使用以下命令创建一个人...

curl -X POST -d "{"first_name"=>"mista", "last_name"=>"wintas"}" http://localhost:3000/curl_example

当我这样做时,我在控制台上收到此错误...

Started POST "/curl_example" for ::1 at 2016-11-08 13:24:46 -0500
Processing by PeopleController#curl_post_example as */*
  Parameters: {"{first_name"=>">mista, last_name=>wintas}"}
Completed 500 Internal Server Error in 0ms (ActiveRecord: 0.0ms)



ArgumentError (When assigning attributes, you must pass a hash as an argument.):

对我来说看起来像是一个哈希?我想念什么?

先生_苏达卡

您需要像这样传递参数:

 curl -d "person[first_name]=john" -d "person[last_name]=doe" 

来源:curl命令行

然后,在您的控制器中:

private def person_params
  params.require(:person).permit(:first_name, :last_name)
end

并调用person_params,而不是paramsPerson.create...

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

转换cURL命令以发布请求以将通知发送到kaa服务器

如何将发布请求发送到Rails Action

使用guzzle将发布请求发送到基于laravel的应用

将发布请求发送到端点,但忽略响应

无法将Ajax发布请求发送到Servlet

通过Curl将JSON请求发送到Flask

cURL可以将请求发送到套接字吗?

将大量CURL请求发送到单个页面

将Logback跟踪日志发送到Azure应用程序见解-错误:发送失败,请求错误

将请求从域发送到特定的Rails引擎

将HTTP发布请求发送到JSF应用程序中的外部站点,而无需重定向

将JSON对象发送到Rails应用

将请求从Nodejs发送到Nodejs

将请求发送到Https站点

使用python中的AWS Lambda将发布请求发送到外部API

如何使用ajax将发布请求发送到Spring控制器

将发布请求发送到PayPal以获取Django中的访问令牌

使用请求通过http发布将字节数组发送到Web服务

您如何成功地将发布请求发送到 firebase 功能

使用提取将发布请求发送到Golang服务器

使用codeigniter将发布请求发送到xmlrpc服务器

将发布请求从 Swift 4 发送到 Node.js

如何将错误响应从PHP发送到jQuery Ajax发布请求

我无法将发布请求从反应表单发送到烧瓶服务器

如何将传递对象作为参数发送到发布请求

Angular 发布请求将空正文发送到 node.js 服务器

500(内部服务器错误),用于将发布请求发送到aspx页面

使用Angular将http发布请求发送到具有许多数据的php

我们如何使用curl将GET请求发送到外部API‽?