前提・実現したいこと
Ruby on Railsのform_tagで数字を入力し計算式を通して計算して、結果を表示したいと思い、modelにその数式を作り、viewで呼び起こそうとしたところ、NoMethodError in NumbersController#indexのエラーが出てしまい、これを解消できません。
発生しているエラー
undefined method `*' for nil:NilClass
該当のソースコード
model
1Extracted source (around line #2): 2 3class Number < ApplicationRecord 4 def self.result(weight, parsent) 5 weight * parsent / 100 6 end 7end 8
controller
1class NumbersController < ApplicationController 2 3 def new 4 @number = Number.new 5 end 6 7 def index 8 @numbers = Number.result(params[:weight], params[:parsent]) 9 end 10 11 def create 12 @number = Number.new(number_params) 13 if @number.save 14 redirect_to :action => "index" 15 else 16 render :action => "new" 17 end 18 end 19 20 private 21 def number_params 22 params.permit(:weight, :parsent) 23 end 24end 25
view
1 2<h1 class="title">簡単計算</h1> 3 <%= form_tag(@number) do%> 4 <p>重量</p> 5 <%= text_field :"weight"%> 6 <p>パーセント</p> 7 <%= text_field :"parsent"%><br><br> 8 9 <%= submit_tag "計算をする",class:"btn btn-primary"%><%end%> 10 11 <h1>入力結果</h1> 12 13 <p>適正重量は<%= @numbers%>です</p> 14
試したこと
controllerに数式を書いてやってみましたができませんでした。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/04/30 13:57
2020/04/30 22:14
退会済みユーザー
2020/05/01 01:55