フォームに 5 つの選択ボックスがあります。ユーザーはそれらを使用して 1 から 5 までのメモを選択できます。selects punctuality = 5 Attention = 3 からこれらの選択したメモを取得したいと考えています。. 平均を計算し、データベースに保存します。モデルでメソッドを作成し、params ハッシュにアクセスする必要がありますか? または params ハッシュはコントローラーでのみ使用できますか?
1 に答える
0
モデルのパラメーターにアクセスできます。ただし、通常、パラメーターはコントローラーでアクセスされます。問題を解決するには:
まず、平均を保存する列を作成します。テーブルの名前は次のようになりますgrades
。
# generate migration file
rails g migration add_average_to_grades average:float
# update your database
rake db:migrate
次に、モデルでコールバックを使用して平均を計算します。
before_save :set_average
def set_average
self.average = [punctuality, attention ... ].sum / [punctuality, attention ...].size
end
3 番目に、コントローラーは次のようにそのままにしておく必要があります。
def create
@grade = Grade.new params[:grade]
if @grade.save
# handle success
else
# handle grade not saved
end
end
于 2013-07-17T02:27:52.513 に答える