質問するログイン新規登録

回答編集履歴

1

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

2021/02/08 09:15

投稿

oakbow
oakbow

スコア227

answer CHANGED
@@ -23,4 +23,41 @@
23
23
  * n = params[:age] のような1文字変数は使わず、内容を示す分かりやすい変数名を使ってください。ここでは age = params[:age] とするのが適当だと思います。上と同じで、コードを読む時に何が入っているか名前だけでわかるかどうかはとても重要です。他の変数についても全て同じ。aとwとかのような1文字変数は原則的に避けた方が良いです。
24
24
 
25
25
 
26
- コードは「何をやりたいか」の具体的に示しているという面もあるので、それが伝わりにくいコードはその後の修正に苦しみます。上に書いたことは絶対ってわけじゃないんですが、こちらで効率よく回答やアドバイスをもらうためにも修正したほうがよいかな、と思います。
26
+ コードは「何をやりたいか」の具体的に示しているという面もあるので、それが伝わりにくいコードはその後の修正に苦しみます。上に書いたことは絶対ってわけじゃないんですが、こちらで効率よく回答やアドバイスをもらうためにも修正したほうがよいかな、と思います。
27
+
28
+ ----
29
+
30
+ なるほど。コメントいただいて意味がわかってきましたが、age, weight, gender はすでに heth モデルのプロパティとして保存して、show アクションではその内容をもとに計算結果を出力したいわけですね。
31
+
32
+ ```
33
+ age = params[:age]
34
+ ```
35
+
36
+ こういう感じで `param` で値を受け取るのは、あくまでリンク元やフォームで何らかのユーザ入力が行われたときのためのものです。
37
+ show アクションではすでに保存済みのデータをロードしてそれを利用するのですから、
38
+
39
+ ```
40
+ @heth = Heth.find_by(id : params[id])
41
+ age = @heth.age
42
+ gender = @heth.gender
43
+ weight = @heth.weight
44
+ level = @heth.level
45
+ ```
46
+
47
+ と書くのが正しいやり方です。
48
+
49
+ あと、下の方にあるこれは多分動かないのです。
50
+
51
+ ```
52
+ @heth_kcal = Heth.new(kcal)
53
+ ```
54
+
55
+ エラーになるかな? kcal という変数を使う意味がなさそうなので、
56
+
57
+ ```
58
+ @heth_kcal = vasekcal * rv
59
+ ```
60
+
61
+ でいいんじゃないかと思います。
62
+
63
+ が、これそもそもフォーム入力での保存もうまくいっていなさそう。。。そこから直したいという質問だったんでしょうか?