私のプログラムには、人が食べたものを取り、合計点を与えるモデル、カロリーがあります。その日の栄養情報のポイント値が計算された後、User モデルの「points」変数を更新したいと考えています。
私がカロリーモデルに持っているコードは
before_save :calculate_points
def calculate_points
# snipped calculations
User.where(user_id).first.point_calculation
end
ユーザーモデルでは、私は持っています
def point_calculation
self.points = Calorie.where(user_id: id).sum(:points)
end
コールバック before_save を作成して point_calculation モデルをテストしたところ、問題なく動作しました。ただし、ユーザーが設定を更新するのではなく、新しいカロリーエントリごとに更新する方がはるかに理にかなっています. 何かアドバイス?私は何が欠けていますか?
ご協力いただきありがとうございます。