回答編集履歴

1

コメント受けてshowアクションを修正

2021/02/08 09:15

投稿

oakbow
oakbow

スコア227

test CHANGED
@@ -49,3 +49,77 @@
49
49
 
50
50
 
51
51
  コードは「何をやりたいか」の具体的に示しているという面もあるので、それが伝わりにくいコードはその後の修正に苦しみます。上に書いたことは絶対ってわけじゃないんですが、こちらで効率よく回答やアドバイスをもらうためにも修正したほうがよいかな、と思います。
52
+
53
+
54
+
55
+ ----
56
+
57
+
58
+
59
+ なるほど。コメントいただいて意味がわかってきましたが、age, weight, gender はすでに heth モデルのプロパティとして保存して、show アクションではその内容をもとに計算結果を出力したいわけですね。
60
+
61
+
62
+
63
+ ```
64
+
65
+ age = params[:age]
66
+
67
+ ```
68
+
69
+
70
+
71
+ こういう感じで `param` で値を受け取るのは、あくまでリンク元やフォームで何らかのユーザ入力が行われたときのためのものです。
72
+
73
+ show アクションではすでに保存済みのデータをロードしてそれを利用するのですから、
74
+
75
+
76
+
77
+ ```
78
+
79
+ @heth = Heth.find_by(id : params[id])
80
+
81
+ age = @heth.age
82
+
83
+ gender = @heth.gender
84
+
85
+ weight = @heth.weight
86
+
87
+ level = @heth.level
88
+
89
+ ```
90
+
91
+
92
+
93
+ と書くのが正しいやり方です。
94
+
95
+
96
+
97
+ あと、下の方にあるこれは多分動かないのです。
98
+
99
+
100
+
101
+ ```
102
+
103
+ @heth_kcal = Heth.new(kcal)
104
+
105
+ ```
106
+
107
+
108
+
109
+ エラーになるかな? kcal という変数を使う意味がなさそうなので、
110
+
111
+
112
+
113
+ ```
114
+
115
+ @heth_kcal = vasekcal * rv
116
+
117
+ ```
118
+
119
+
120
+
121
+ でいいんじゃないかと思います。
122
+
123
+
124
+
125
+ が、これそもそもフォーム入力での保存もうまくいっていなさそう。。。そこから直したいという質問だったんでしょうか?