私は新しいメソッドを定義したcountry.rb
のメソッドを持っています。モデルの保存
class Country < ActiveRecord::Base
has_many :states, :dependent => :destroy
after_save :count_total_states
def count_total_states
self.duration = State.count(:conditions => { :country_id => self.id })
Country.save!(:duration => self.duration)
end
end
私はself.duration
の結果を得ました。私はそれを実行したときしかし、それは私が毎回新しい状態が作成されている国に属している、それは状態の数をカウントしたい
undefined method 'save!' for #<Class:0x111170d10>
を言いました。何をすべきかアドバイスしてください。ありがとう。
なぜ私は 'after_save'を行う必要があるのですか?カウントを行う前に、新しい状態が保存されていることを確認したいからです。私が保存する前にカウントを行うと、新しい状態は含まれません。 – Victor
ファイン。私の例を更新しました。 –
それでも無限ループが発生しました... – Victor