問題:
戻り値を HTML ERB ページに渡せるようにしたい (以下の結果フォームを参照)。ここや他のサイトで多くの解決策を試しましたが、問題を解決する解決策をまだ見つけていません。何かを見逃した場合に備えて、完全なコードを含めました。
注:戻り値を取得し、結果フォームを表示できますが、戻り値が渡されません。私はすでにこれを投稿しましたが、与えられた解決策は役に立ちませんでした。これには、私に推奨された変更が含まれます。#{output} を追加しているように見えるため、メイン コードのリダイレクトにより「接続がリセットされました」というエラーが発生し、まったく意味がありません。
メインコード: ファイル名: */projects/webhosted_custom_fibonacci_calculator.rb
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_form.erb
<html>
<head>
<title>Fibonacci Calculator</title>
</head>
<body>
<h1>Results</h1>
Result: <%= results %>
</body>
</html>