2009-08-25 3 views

答えて

0

モデルにサマリー列を作成する場合は、このロジックをモデルに配置する必要があります。 (標準の自動インクリメントフィールドのように)、この方法では組み込まれていないがありますが、簡単に追加することができます。

class Parent << ActiveRecord::Base 
    # Contains a field: summary_field 
end 


class Child << ActiveRecord::Base 

    after_save => :increment_summary 
    before_destroy => :decrement_summary 

    def increment_summary 
     Parent.find(self.id).summary_field.increment 
    end 

    def decrement_summary 
     Parent.find(self.id).summary_field.decrement 
    end 

end 
1

それが関与どんな関係があるかどうかは明らかではないが、counter_cacheが良いかもしれように聞こえますフィット。

Railscast episodeには、コード例とビデオチュートリアルがあります。

関連する問題