現在、モデルを持つRailsアプリに取り組んでおり、Event
このモデルにはCategory
ネストされた属性としてモデルがあります。
私のEvent
モデルには、state
ネストされたカテゴリが特定の量に達した場合に特定の値に変更する必要がある属性があります。
モデルのafter_update
コールバックを使用してこれを実行しようとしましたが、うまくいきませんでした。Event
誰にもアイデアはありますか?
現在、モデルを持つRailsアプリに取り組んでおり、Event
このモデルにはCategory
ネストされた属性としてモデルがあります。
私のEvent
モデルには、state
ネストされたカテゴリが特定の量に達した場合に特定の値に変更する必要がある属性があります。
モデルのafter_update
コールバックを使用してこれを実行しようとしましたが、うまくいきませんでした。Event
誰にもアイデアはありますか?
なぜうまくいかなかったのですか?おそらく、最大の再帰レベルに達したためです。次のようなことを試してください:
class Event < ActiveRecord::Base
attr_accessor :category_count_state_updated
has_many :categories
accepts_nested_attributes_for :categories
attr_accessible :categories_attributes
after_update :update_state
private
def update_state
unless self.category_count_state_updated
self.state = 'categories_count_reached' if self.categories.count == 5
self.category_count_state_updated = true
self.save
end
end
end