🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

1回答

379閲覧

rubyonrails paramsで受け取ったものが表示されない

RTn

総合スコア4

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2020/12/08 09:51

radio_button_tagから選択されたデータをparamsで受け取って表示viewで表示させたい

下記の画像の通りエラーは出てこないのですがresultviewに送信しても結果が表示されません、エラーが出てこないので解決策がわからずにいます。

イメージ説明

selectview

1<%= form_with url: "/home/result", controller: 'home', action: 'result', local: true do %> 2 <section >質問1 3 <p> 4 <%= radio_button_tag("Question1","1")%> 5 <%= label_tag("Question1_1","1")%> 6 <%= radio_button_tag("Question1","2")%> 7 <%= label_tag("Question1_2","2")%> 8 <%= radio_button_tag("@Question1","3")%> 9 <%= label_tag("Question1_3","3")%> 10 <%= radio_button_tag("Question1","4")%> 11 <%= label_tag("Question1_4","4")%> 12 </p> 13 </section> 14 <section >質問2 15 <p> 16 <%= radio_button_tag("Question2","1")%> 17 <%= label_tag("Question_1","1")%> 18 <%= radio_button_tag("Question2","2")%> 19 <%= label_tag("Question2_2","2")%> 20 <%= radio_button_tag("Question2","3")%> 21 <%= label_tag("Question2_3","3")%> 22 <%= radio_button_tag("Question2","4")%> 23 <%= label_tag("Question2_4","4")%> 24 </p> 25 26 27 <%=submit_tag ("送信") %> 28 29 30<%end%>

controller

1def result 2 case params[:Question1] 3 when 1 4 @Q1 = 1 5 when 2 6 @Q1 = 2 7 when 3 8 @Q1 = 3 9 when 4 10 @Q1 = 3 11 else 12 puts "質問1の回答がありません。" 13 end 14 case params[:Question2] 15 when 1 16 @Q2 = 1 17 when 2 18 @Q2 = 2 19 when 3 20 @Q2 = 3 21 when 4 22 @Q2 = 3 23 else 24 puts "質問2の回答がありません。" 25 end 26 end

イメージ説明

resultview

1<div class ="a"> 2 <h1>これが診断結果です</h1> 3 <%= @Q1 %> 4 <%= @Q2 %> 5</div>

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

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

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

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

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

guest

回答1

0

params["Question1"]params["Question2"] の中身は文字列です。

case params[:Question1] when "1" @Q1 = 1 when "2" @Q1 = 2 ...

とするか、

case params[:Question1].to_i when 1 @Q1 = 1 when 2 @Q1 = 2 ...

としてください。

それからputsしてもコンソールに表示されるだけで、ブラウザには表示されません。

投稿2020/12/08 13:50

編集2020/12/08 14:06
neko_daisuki

総合スコア2090

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問