#現在javascriptでスコアの計算機能を作成しましたが、保存ができずに困っています。
ビューファイルにはform_withを使用し点数の入力欄には各f.text_field カラム名を記述してます。
ただ、自動で入る値に対してのform_withのヘルパーメソッドの記述がわかりません。
わかりにくい説明かもしれませんが、アドバイスをいただけないでしょうか?
よろしくおねがいいたします。
下記の記述を行いました。
#ビューファイル <tr> <th class="score-content"> <%= current_user.name %> </th> <td> <%= f.text_field :first_fa_inning, id:"first-fa-score-field", class:"score-field" %> </td> <td> <%= f.text_field :second_fa_inning, id:"second-fa-score-field", class:"score-field" %> </td> #以下の :f_totalに合計が入るのですが、form_withの記述方法がわからない <th> <span><%= :f_total, id:"fa-total", class:"total-wrap" %></span> </th> </tr>
#javascriptファイル // 一回目のスコア入力 window.addEventListener("load", function() { var score = document.getElementById("first-fa-score-field"); score.addEventListener("input", function() { var first_fa_score = parseInt(score.value); var fa_total = document.getElementById("fa-total"); fa_total.innerHTML = first_fa_score; }) // 二回目のスコア入力 var second_score = document.getElementById("second-fa-score-field"); second_score.addEventListener("input", function() { var second_fa_score = parseInt(second_score.value); var score = document.getElementById("first-fa-score-field"); var first_fa_score = parseInt(score.value); var fa_total = document.getElementById("fa-total"); second_total_score = (first_fa_score + second_fa_score); fa_total.innerHTML = second_total_score }) })
#コントローラー class FrontsController < ApplicationController def index @front = Front.new @match = Match.find(params[:match_id]) end def create @front = Front.new(front_params) if @order.save return redirect_to root_path else render "index" end end private def front_params params.require(:front).permit(:first_fa_inning,:second_fa_inning, :f_total).merge( user_id: current_user.id, match_id: @match.id) end end
paramsでは(:f_total)以外の値は取れている状態です。
説明不足な点があるかと思いますがご教授お願いいたします。
足りない説明等ありましたらすぐに対応いたします。
あなたの回答
tips
プレビュー