Vin*_*lli 2 ruby post http postdata sinatra
我正在尝试在Sinatra中创建一个页面,以便您发布的任何内容(在参数名称"command"下)都会回显给您.这是我目前的做法:
post '/eval' do
"I got #{params[:data][:command]}."
end
Run Code Online (Sandbox Code Playgroud)
如果我尝试将任何内容发布到/ eval,则会导致内部服务器错误.我究竟做错了什么?
sin*_*axi 11
问题是你的[:data]参数是nil.解决这个问题的一种方法是删除对它的引用[:data].试试这个.
require "rubygems"
require "sinatra"
post '/eval' do
"I got #{params[:command]}."
end
Run Code Online (Sandbox Code Playgroud)
您可以在命令行上使用curl对此进行测试(如果您使用的是基于unix的系统).
curl http://localhost:4567/eval -F "command=hello"
Run Code Online (Sandbox Code Playgroud)
将来,如果您在问题中提供错误的堆栈跟踪,那将对其他人有所帮助.