###前提・実現したいこと
Rubyでフォームに名前と年齢を入力すると、現在の時間と照らし合わせて、「おはよう(こんにちわ、こんばんは)〜さん(〜歳)と表示される、アプリを作ろうとしています。
###発生している問題・エラーメッセージ
発生している問題として、名前の部分は入力した文字が反映されるのですが、年齢の部分が数字を入力しても、HTMLに何も表示されません。
###該当のソースコード
index.erb
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>タイトル</title> </head> <body> <form action="/" method="POST"> <label>名前: <input type="text" name="target_name"></label> <label>年齢: <input type="num" age="target_age"></label> <input type="submit" value="送信"> </form> <% name = params['target_name'] %> <% age = params['target_age'] %> <% time_japan = Time.now.getlocal("+09:00") %> <p>今は<%= time_japan.hour %>時です。</p> <% if 6 <= time_japan.hour && time_japan.hour < 12 %> <p>おはよう、<%= name %>さん( <%= age %> 歳)</p> <% elsif 12 <= time_japan.hour && time_japan.hour < 18 %> <p>こんにちは、<%= name %>さん( <%= age %> 歳)</p> <% else %> <p>こんばんは、<%= name %>さん( <%= age %> 歳)</p> <% end %> </body> </html>
app.rb
require 'sinatra' get '/' do erb :index end post '/' do erb :index end
###試したこと
例えば名前に「太郎」「36」と入力すると、「おはよう、太郎さん( 歳)」とHTMLに表示されます。とすると、paramsのage部分が格納されていないことが原因なのでしょうか?プログラミング初心者のため、何がいけないのかわかりません。よろしくお願いします。
###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/07/17 12:56