2
我試圖在Sinatra中創建一個頁面,以便您發佈的任何內容(在參數名稱「command」下)都會回顯給您。這是我目前的做法:在Sinatra處理POSTDATA
post '/eval' do
"I got #{params[:data][:command]}."
end
如果我嘗試發佈任何內容到/ eval,它會導致內部服務器錯誤。我究竟做錯了什麼?
我試圖在Sinatra中創建一個頁面,以便您發佈的任何內容(在參數名稱「command」下)都會回顯給您。這是我目前的做法:在Sinatra處理POSTDATA
post '/eval' do
"I got #{params[:data][:command]}."
end
如果我嘗試發佈任何內容到/ eval,它會導致內部服務器錯誤。我究竟做錯了什麼?
問題是您的[:data]
參數是nil
。解決這個問題的一種方法是刪除對[:data]
的引用。試試這個。
require "rubygems"
require "sinatra"
post '/eval' do
"I got #{params[:command]}."
end
你可以在你的命令行(如果你使用的是基於unix的系統)上使用curl來測試它。
curl http://localhost:4567/eval -F "command=hello"
未來,如果您提供錯誤的堆棧跟蹤與您的問題,將有助於他人。