1
私は多くのサブ評価(自己refential)モデルのコールバックは、自己参照協会
class Evaluation < ApplicationRecord
has_many :sub_evaluations, class_name: "Evaluation", foreign_key: "parent_id", dependent: :destroy
before_save :calculate_score
def calculate_score
# do something
end
end
私が作成し、ネストされた属性などのサブ評価で評価を更新していますを持っているモデルEvaluation
を持っていて機能していません。
calculate_score
サブ評価の作成時にメソッドがトリガーされますが、更新中はトリガーされません。私はbefore_update
とafter_validation
を試しました。しかし、何も働いていないようです。
評価フォーム
= form_for @evaluation do |f|
...
= f.fields_for :sub_evaluations do |sub_evaluation|
...
問題のようですか?
はあなたがサブ評価を更新しているかを示すことができましたか? –
私はこれを再現できません。 'before_save'は内容が更新されるすべての子に対して呼び出されます。 'sub_evaluations_attributes'に' id'を許可したかどうかを確認することです。 –
sub_evaluations_attributesにidを許可しました。私はあなたがRails 5でそれをチェックしていると思います。 – webster