2016-06-28 30 views
0

Rails的Model.reset_column_information

Product模型

belongs_to :detail, counter_cache: true 

我的移民

add_column :details, :products_count, :integer, default: 0

,并希望与(products_count)

Detail.reset_column_information 
重置10

之后却我的对象仍然有products_count=>20

所以我的问题是

1.how当我删除相关产品的OBJ正确products_count复位?

2.为什么它reset_column_information没有做到这一点?

或者我错过了什么?

回答

0

要重置计数器,请使用reset_counters。 例如:

Detail.reset_counters({id}, :products) 

确保您提供您想要重置products_count适当的详细编号(编号)。

reset_column_information用于重置有关列的所有模式缓存信息。它不用于重置计数器。