3

私のプログラムには、人が食べたものを取り、合計点を与えるモデル、カロリーがあります。その日の栄養情報のポイント値が計算された後、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 モデルをテストしたところ、問題なく動作しました。ただし、ユーザーが設定を更新するのではなく、新しいカロリーエントリごとに更新する方がはるかに理にかなっています. 何かアドバイス?私は何が欠けていますか?

ご協力いただきありがとうございます。

4

1 に答える 1