Sinatra可以通过名称轻松访问任何特定的传入表单字段:
post "/" do
params['form_field_name']
end
Run Code Online (Sandbox Code Playgroud)
但是如何枚举请求中的所有表单字段?我在文档中找不到任何内容.我甚至试过了
request.body.split('&')
Run Code Online (Sandbox Code Playgroud)
但是request.body是StringIO的一个实例,而不是一个字符串.
如果params是哈希,您可以尝试:
params.keys.each do |k|
puts "#{k} - #{params[k]}"
end
Run Code Online (Sandbox Code Playgroud)
我刚刚在Sinatra的优秀API文档中发现Sinatra :: Request是Rack :: Request的子类.Sinatra处理程序继承的可用请求对象有一个POST方法,它返回提交的表单字段的哈希值.
request.POST.each { |k,v| puts "#{k} = #{v}" }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4876 次 |
| 最近记录: |