我在我的一个控制器中跟随:
render :json => @obj.to_json, status: 201
这是空响应有时,具有正确的201状态代码。
但是,如果我将状态代码更改为200,则每次都会正确呈现响应。
任何想法为什么响应体行为的行为与状态代码的变化相同。
(注意,我在heroku上部署这个 - 并且只在服务器上出现问题 - 无法在本地开发中重现)
修改:
cURL详细信息:
curl url语法是正常的,基本标头和我自己的一些用于身份验证。
回应:
* Hostname was NOT found in DNS cache
* Trying 23.21.41.210...
* Connected to utilities-myappp.herokuapp.com (23.21.41.210) port 80 (#0)
> POST /api/v2/bookings HTTP/1.1
> User-Agent: curl/7.37.1
> Host: utilities-myappp.herokuapp.com
> Content-Type: application/json
> Accept: */*
> Cache-Control: no-cache
> Cookie: request_method=POST
> Connection: keep-alive
> access_token: my-access-token
> Content-Length: 413
>
* upload completely sent off: 413 out of 413 bytes
< HTTP/1.1 201 Created
* Server Cowboy is not blacklisted
< Server: Cowboy
< Connection: close
< Date: Wed, 25 Mar 2015 13:13:27 GMT
< Status: 201 Created
< X-Frame-Options: SAMEORIGIN
< X-Xss-Protection: 1; mode=block
< X-Content-Type-Options: nosniff
< Content-Type: application/json; charset=utf-8
< Etag: "b7f09a43851971654d269bee8beed023"
< Cache-Control: max-age=0, private, must-revalidate
< X-Request-Id: 3ed3d9ee-d534-416a-b689-045e1d60e374
< X-Runtime: 0.351844
< Vary: Accept-Encoding
< Via: 1.1 vegur
<
这是我收到的相同签名1)我收到响应正文(在这种情况下,后面是响应文本,2),当没有响应正文时。 在这两种情况下,唯一的变化是Date,Etag,X-Request-Id,X-runtime响应头。