我发现检查来自控制台内的某些请求的响应更方便
>> app.put '/users/2/'
=> 500
但是无法找到指定请求参数的方法。我该怎么做?
答案 0 :(得分:35)
如果您想要放置或发布到URL,也有方法。您可以完全按照Rails生产日志中显示的参数复制/粘贴参数:
app.post('/foo', {"this" => "that", "items" => ["bar", "baz"]})
app.put('/foo', {"this" => "that", "items" => ["bar", "baz"]})
如果要发送自定义标题,可以添加可选的第三个参数:
app.post('/foo', {:this => "that", :items => ["bar", "baz"]}, {"X-Do-Something" => "yes"})
任何get / post / put / delete方法都会在控制台上显示完整的日志输出供您检查。如果您想获取返回的响应主体,HTTP状态或响应头等信息,这些信息也很容易:
app.response.body
app.response.status
app.response.headers.inspect
来源:http://andyjeffries.co.uk/articles/debug-level-logging-for-a-single-rails-production-request
答案 1 :(得分:3)
以上已更改为
app.post '/foo', params: {"this" => "that", "items" => ["bar", "baz"]}
同样对于表单我也必须提供authenticity_token。 所以在我的例子中,完整的命令是
app.post '/login', params: {email: 'my_email@gmail.com', password: 'abcd', authenticity_token: 'my_authenticity_token_generated_for_this_view' }