Ruby Sinatra textarea显示变量字符串而不是变量值

时间:2017-03-13 23:15:44

标签: html ruby sinatra

我正在尝试使用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

我做错了什么?我已经搜索过,但无法找到解决此问题的方法。

1 个答案:

答案 0 :(得分:0)

使用全局变量而不是本地变量。

<%= @res %>

@res = Hash.new("")
 u = params[:urls].lines("\n")
 list = Ipcheck.new()
 @res = list.check(u)
 erb :ip