Sinatra でページを作成しようとしています。これにより、(パラメーター名「コマンド」の下で) 投稿したものはすべてエコー バックされます。これが私の現在のアプローチです:
post '/eval' do
"I got #{params[:data][:command]}."
end
/eval に何かを投稿しようとすると、内部サーバー エラーが発生します。私は何を間違っていますか?
問題は、[:data]
パラメータがであるということですnil
。これを修正する1つの方法は、への参照を削除すること[:data]
です。代わりにこれを試してください。
require "rubygems"
require "sinatra"
post '/eval' do
"I got #{params[:command]}."
end
これは、コマンドラインでcurlを使用してテストできます(UNIXベースのシステムを使用している場合)。
curl http://localhost:4567/eval -F "command=hello"
将来的には、質問にエラーのスタックトレースを提供すると、他の人に役立つでしょう。