2015-09-04 40 views
0

我有幾個計數器緩存更新時,模型保存/更新或銷燬,因爲後鉤。如果我使用原始SQL創建/更新或銷燬記錄,如何自動更新計數器緩存?當我們運行原始SQL時,如何更新counter_cache?

+0

如果您使用原始SQL繞過rails活動記錄機制,則不會自動調用您的回調函數。你的意思是說「如何手動更新計數器*」? – Daiku

+0

@Daiku我知道回調不會被調用。我只是想知道有沒有辦法在SQL運行時自動執行該操作。 –

回答

2

這會幫助你

http://apidock.com/rails/ActiveRecord/CounterCache/ClassMethods/reset_counters

# For Post with id #1 records reset the comments_count 
Post.reset_counters(1, :comments) 

重置一個或多個計數器緩存來使用SQL數查詢其正確的值。這在添加新計數器緩存時很有用,或者計數器已被損壞或直接由SQL修改。

+0

多數民衆贊成在一個完美的 –

相關問題