我正在尝试使用Sinatra设置网络应用程序,并且我已经使用它可以在用户输入文本区域中的URL列表,单击提交,然后运行一些代码URL和用户被重定向到第二页以查看结果。我想删除重定向并在同一页面上的另一个textarea中显示结果(甚至重复使用相同的文本区域)但是到目前为止我还没有成功。第二个textarea只显示<%= res%>而不是显示结果。并且提交的网址消失。
ERB页面
<h1>Put URLs Here</h1>
<form method="POST" action="">
<p><textarea id="urls" name="urls" rows="20" cols="60">
</textarea></p>
<input type="submit">
</form>
<br />
<br />
<h1>Results</h1>
<p><textarea id="results" name="results" rows="20" cols="60">
<%=res%>
</textarea></p>
app.rb
require 'sinatra'
get '/ip' do
erb :ip
end
post '/ip' do
res = Hash.new("")
u = params[:urls].lines("\n")
list = Ipcheck.new()
res = list.check(u)
erb :ip, :locals => {'res' => res}
end
我做错了什么?我已经搜索过,但无法找到解决此问题的方法。
答案 0 :(得分:0)
使用全局变量而不是本地变量。
<%= @res %>
和
@res = Hash.new("")
u = params[:urls].lines("\n")
list = Ipcheck.new()
@res = list.check(u)
erb :ip