Fix slow impressionist count

This commit is contained in:
manson 2014-06-11 16:00:28 +08:00 committed by spen
parent 8f551569bb
commit 6cefd67dc6
1 changed files with 12 additions and 8 deletions

View File

@ -3,14 +3,14 @@ class Page < Item
include Impressionist::Impressionable include Impressionist::Impressionable
include ParserFrontEnd include ParserFrontEnd
is_impressionable :counter_cache => { :column_name => :view_count } is_impressionable
field :content, localize: true field :content, localize: true
field :app_frontend_url field :app_frontend_url
# field :theme_id, :type => BSON::ObjectId, :default => nil # field :theme_id, :type => BSON::ObjectId, :default => nil
field :category,type: Array, :default => [] field :category,type: Array, :default => []
field :tag, type: Array,:default => [] field :tag, type: Array,:default => []
field :view_count, :type => Integer, :default => 0 # field :view_count, :type => Integer, :default => 0
field :page_title, localize: true field :page_title, localize: true
field :frontend_style field :frontend_style
@ -65,6 +65,10 @@ class Page < Item
end end
end end
def view_count
self.impression_count
end
protected protected
def create_parts def create_parts
@ -97,15 +101,15 @@ class Page < Item
end end
def delete_empty_frontend_field def delete_empty_frontend_field
if self.frontend_field if self.frontend_field
self.frontend_field.reject! { |ff| (ff[0].blank? || ff[1].blank?) } self.frontend_field.reject! { |ff| (ff[0].blank? || ff[1].blank?) }
# self.frontend_field.each do | ff | # self.frontend_field.each do | ff |
# if ff[0].blank? || ff[1].blank? # if ff[0].blank? || ff[1].blank?
# self.frontend_field.delete("") if self.frontend_field # self.frontend_field.delete("") if self.frontend_field
# self.frontend_field.delete(ff) # self.frontend_field.delete(ff)
# end # end
# end # end
end end
end end
def generate_html def generate_html