1

我在尋找關於如何跟蹤與Rails中的特定對象關聯的標籤數量的建議。我正在使用acts_as_taggable_on,它工作正常。我希望能夠做的是搜索所有沒有標籤的對象,最好通過一個範圍,即Object.untagged.all關於如何跟蹤特定對象的標籤數量的建議

我的第一個想法是使用after_save回調來更新名爲「taggings_count」的屬性在我的模型中:

def update_taggings_count 
    self.taggings_count = self.tag_list.size 
    self.save 
end 

不幸的是,這確實使我陷入了無限循環。我需要使用after_save回調,因爲tag_list在主對象保存之前不會更新。

希望有任何建議,因爲我在滾動我自己的標記系統的邊緣。

問候

羅賓

回答

0

我做同樣的事情,但把功能before_save,像這樣

scope :untagged, where("taggings_count = 0") 
before_save :update_taggings_count 

def update_taggings_count 
    self.taggings_count = tag_list.size 
end