Fix #3365: Incorrect tag category counts.
`Hash[array]` didn't work because Hash needed to be called as `Hash[*array]`. Or, more simply, `array.to_h`.
This commit is contained in:
@@ -626,7 +626,7 @@ class Post < ApplicationRecord
|
||||
|
||||
def set_tag_counts
|
||||
self.tag_count = 0
|
||||
TagCategory.categories {|x| set_tag_count(x,0)}
|
||||
TagCategory.categories.each {|x| set_tag_count(x,0)}
|
||||
categories = Tag.categories_for(tag_array, :disable_caching => true)
|
||||
categories.each_value do |category|
|
||||
self.tag_count += 1
|
||||
|
||||
@@ -142,7 +142,7 @@ class Tag < ApplicationRecord
|
||||
Post.raw_tag_match(name).where("true /* Tag#update_category_post_counts */").find_each do |post|
|
||||
post.reload
|
||||
post.set_tag_counts
|
||||
args = Hash[TagCategory.categories {|x| ["tag_count_#{x}",post.send("tag_count_#{x}")]}].update(:tag_count => post.tag_count)
|
||||
args = TagCategory.categories.map {|x| ["tag_count_#{x}",post.send("tag_count_#{x}")]}.to_h.update(:tag_count => post.tag_count)
|
||||
Post.where(:id => post.id).update_all(args)
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user