

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

下記の画像とコードを見ていただくととくにエラーは出ていないのですがresultviewにはradio_buttonから受け取ったはずの値が表示されていません、解決策がわからずどうしたらいいのかわからないのでご教授いただけると幸いです。  
[![selectbiewのページ](https://i.stack.imgur.com/TvNwl.png)](https://i.stack.imgur.com/TvNwl.png)  
**selectview**

[code]

    <%= form_with url: "/home/result", controller: 'home', action: 'result', local: true do %>
        <section >質問1
          <p>  
            <%= radio_button_tag("Question1","1")%>
            <%= label_tag("Question1_1","1")%>
            <%= radio_button_tag("Question1","2")%>
            <%= label_tag("Question1_2","2")%>
            <%= radio_button_tag("@Question1","3")%>
            <%= label_tag("Question1_3","3")%>
            <%= radio_button_tag("Question1","4")%>
            <%= label_tag("Question1_4","4")%>
          </p>  
        </section>
        <section >質問2
          <p>  
            <%= radio_button_tag("Question2","1")%>
            <%= label_tag("Question_1","1")%>
            <%= radio_button_tag("Question2","2")%>
            <%= label_tag("Question2_2","2")%>
            <%= radio_button_tag("Question2","3")%>
            <%= label_tag("Question2_3","3")%>
            <%= radio_button_tag("Question2","4")%>
            <%= label_tag("Question2_4","4")%>
          </p>
    
    
        <%=submit_tag ("送信") %>
    
    
    <%end%>
    
[/code]

**controller**

[code]

    def result
     case params[:Question1]
       when 1
         @Q1 = 1
       when 2
         @Q1 = 2
       when 3
         @Q1 = 3
       when 4
         @Q1 = 3
       else
         puts "質問１の回答がありません。"
     end
     case params[:Question2]
     when 1
       @Q2 = 1
     when 2
       @Q2 = 2
     when 3
       @Q2 = 3
     when 4
       @Q2 = 3
     else
       puts "質問2の回答がありません。"
     end
    end
    resultview
     <div class ="a">
     <h1>これが診断結果です</h1>
     <%= @Q1 %>
     <%= @Q2 %>
    </div>
    
[/code]

[![resultviewのページ](https://i.stack.imgur.com/43I6b.png)](https://i.stack.imgur.com/43I6b.png)


CC BY-SA 4.0
2020-12-08T11:40:17.690
72499
2020-12-14T13:10:40.607
2020-12-08T13:27:33.037
32986
43071
question
ruby-on-rails
rails paramsで受け取った


再現したところparams内のキーがシンボルではなく文字列だったので、そちらで取得すると良さそうです。また、そのままだとvalueの値も文字列になるので
`to_i` で数値に変換しています

[code]

      def result
        # 確認用
        # p params
    
        case1 = params["Question1"] ? params["Question1"].to_i : nil
        case2 = params["Question2"] ? params["Question2"].to_i : nil
        case case1
        when 1
          @Q1 = 1
        when 2
          @Q1 = 2
        when 3
          @Q1 = 3
        when 4
          @Q1 = 3
        else
          puts "質問1の回答がありません。"
        end
    
        case case2
        when 1
          @Q2 = 1
        when 2
          @Q2 = 2
        when 3
          @Q2 = 3
        when 4
          @Q2 = 3
        else
          puts "質問2の回答がありません。"
        end
      end
    
[/code]


CC BY-SA 4.0
2020-12-14T13:10:40.607
72652
2020-12-14T13:10:40.607
298
72499
answer