Ruby 将返回(字符串)值传递到erb输入值
问题: 我希望它能够将返回值传递到HTMLERB页面(参见下面的结果表单)。我在这里和其他网站上尝试了许多解决方案,但还没有找到一个可以解决我的问题的解决方案。我包括了完整的代码,以防我遗漏了什么 注意:我得到返回值,可以调出结果表单,但返回值没有传递。我已经发布了这个,但给出的解决方案没有帮助。这包括向我推荐的更改。似乎添加了#{output},因此主代码中的重定向会导致“连接被重置”错误,这是毫无意义的 主代码: 文件名:*/projects/webhosted\u custom\u fibonacci\u calculator.rbRuby 将返回(字符串)值传递到erb输入值,ruby,return,erb,Ruby,Return,Erb,问题: 我希望它能够将返回值传递到HTMLERB页面(参见下面的结果表单)。我在这里和其他网站上尝试了许多解决方案,但还没有找到一个可以解决我的问题的解决方案。我包括了完整的代码,以防我遗漏了什么 注意:我得到返回值,可以调出结果表单,但返回值没有传递。我已经发布了这个,但给出的解决方案没有帮助。这包括向我推荐的更改。似乎添加了#{output},因此主代码中的重定向会导致“连接被重置”错误,这是毫无意义的 主代码: 文件名:*/projects/webhosted\u custom\u fib
require "rubygems"
require "sinatra"
require_relative 'fibonacci_calculator.rb'
require "erb"
include Calculator
get '/' do
redirect ("/calculate")
end
get '/calculate' do
erb :calculator_form, :locals => {:calculator => session[:calculator]}
end
post '/calculate' do
num1 = params['firstnum'].to_i
num2 = params['secondnum'].to_i
output = Calculator.run(num1, num2)
redirect ("/results_form?results=#{output}")
end
get '/results_form' do
erb :results_form, :locals => {:results => params[:results]}
end
结果表:
文件名:*/projects/views/results\u form.erb
<html>
<head>
<title>Fibonacci Calculator</title>
</head>
<body>
<h1>Results</h1>
Result: <%= results %>
</body>
</html>
斐波那契计算器
结果
结果:
您是否尝试过@instance\u变量
?谢谢您的想法。尝试过之后,它现在将显示表单,但不会将返回值放入表单中。看来重定向只允许我们传递静态信息,我尝试了@变量(全局变量)来看看这是否有效,但没有效果。