質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Q&A

解決済

1回答

4677閲覧

Rubyのparamsの使い方(初心者です)

退会済みユーザー

退会済みユーザー

総合スコア0

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

0グッド

1クリップ

投稿2017/07/17 01:18

###前提・実現したいこと
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/ツール等のバージョンなど)
より詳細な情報

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Ruby

1#10行目 2<label>年齢: <input type="number" name="target_age"></label>

HTMLの話になりますが、inputタグのtype属性で入力属性が数値用になります。(スピンボタンが付きます)
name属性で、inputタグの入力値に名前を付けられます。

つまり、
age="target_age"ではなく、
name="target_age"と記述します。

それを、params['名前'] (= params['target_age'])で取得することとなります。

投稿2017/07/17 12:01

ReiLeiLei1025

総合スコア236

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/07/17 12:56

ありがとうございます!無事、完成することができました。 本当に助かりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問