&引用;“参数”;不';t在Ruby中工作(Sinatra框架)

&引用;“参数”;不';t在Ruby中工作(Sinatra框架),ruby,forms,sinatra,Ruby,Forms,Sinatra,我有一个简单的Sinatra应用程序,我想在其中创建一个表单,以便用户可以更改他们的号码。然而,我甚至没有改变数字,因为“params”不起作用。一切都很顺利。我可以在URL中看到参数,但是如果我打印“params”,除了“Echo”之外什么都没有 classmyapp

我有一个简单的Sinatra应用程序,我想在其中创建一个表单,以便用户可以更改他们的号码。然而,我甚至没有改变数字,因为“params”不起作用。一切都很顺利。我可以在URL中看到参数,但是如果我打印“params”,除了“Echo”之外什么都没有

classmyapp
和一份表格:

<form action="/changenumber" method="GET">
    Phone: <input type="text" name="mynumber" value="<%= user.number %>">
    <input type="submit" value="Change Number">
</form>

电话:
正如前面指出的,您可能应该使用Post而不是Get

我重建了您的示例,效果很好:

{"mynumber"=>"test"}
"test"
"echo"
IP - - [TIME] "GET /changenumber?mynumber=test HTTP/1.1" 200 4 0.0005
基于此,我认为您的问题在于您只需锁定浏览器中的输出。这只是代码中的最后一行。您可能应该尝试以下方法:

get '/changenumber' do
    "Params: #{params} mynumber: #{params[:mynumber]}"
end

对表单使用GET方法可能是它不工作的原因,您应该尝试将其更改为POST。我也得到了它,谢谢。我没有意识到只有最后一行会输出到浏览器。
get '/changenumber' do
    "Params: #{params} mynumber: #{params[:mynumber]}"
end