From 8bf5583e009da3242ab7afadad554891ca134882 Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Fri, 6 Mar 2015 16:41:08 +0100 Subject: [PATCH] caching fuer neuigkeiten and bsp --- app/models/calentry.rb | 2 +- app/models/meeting.rb | 4 ++-- app/views/lvas/show.html.erb | 4 +++- app/views/neuigkeiten/_neuigkeit.html.erb | 25 +++++++++++++++-------- lib/like_voteable.rb | 3 ++- 5 files changed, 25 insertions(+), 13 deletions(-) diff --git a/app/models/calentry.rb b/app/models/calentry.rb index 94e58e5..c526523 100644 --- a/app/models/calentry.rb +++ b/app/models/calentry.rb @@ -20,7 +20,7 @@ class Calentry < ActiveRecord::Base validates :object, :presence => true validates :typ, :presence => true before_save :get_public - belongs_to :object, polymorphic: true # Objekt zu dem der Calentry gehört (derzeit ein Newsartikel) + belongs_to :object, polymorphic: true, touch: true # Objekt zu dem der Calentry gehört (derzeit ein Newsartikel) scope :upcoming, ->{ where("start >= ?", Time.now).order(:start)} scope :recent,-> { where("start <= ?", Time.now).order(:start).reverse_order} diff --git a/app/models/meeting.rb b/app/models/meeting.rb index da1a8ea..a8e3ff1 100644 --- a/app/models/meeting.rb +++ b/app/models/meeting.rb @@ -1,10 +1,10 @@ class Meeting < ActiveRecord::Base - belongs_to :parent, :polymorphic=>true + belongs_to :parent, :polymorphic=>true, touch: true belongs_to :meetingtyp attr_accessible :desc, :intern, :name, :parent_id, :parent_type, :calentry,:calentry_attributes, :meetingtyp_id - belongs_to :neuigkeit + belongs_to :neuigkeit, touch: true has_one :protocol, :class_name=>'Document', :conditions=>{:typ=>10}, :as=>:parent has_one :agenda , :as=>:parent,:conditions=>{:typ=>11}, :class_name=>'Document' has_one :calentry, as: :object diff --git a/app/views/lvas/show.html.erb b/app/views/lvas/show.html.erb index 7ff86cd..06f872b 100755 --- a/app/views/lvas/show.html.erb +++ b/app/views/lvas/show.html.erb @@ -82,7 +82,9 @@

<%= link_to t("beispiel.zip") , beispiel_sammlung_lva_path(@lva), class: :linkbox %> <% @lva.beispiele.order(:datum).each do |b| %> - <%= render b%> + <% cache("beispiel_" +b.id.to_s + "_" + b.updated_at.try(:utc).try(:to_s)) do %> + <%= render b%> + <% end %> <% end %> diff --git a/app/views/neuigkeiten/_neuigkeit.html.erb b/app/views/neuigkeiten/_neuigkeit.html.erb index 4fc2166..1394625 100755 --- a/app/views/neuigkeiten/_neuigkeit.html.erb +++ b/app/views/neuigkeiten/_neuigkeit.html.erb @@ -1,21 +1,30 @@ <% if defined?(wrap_in) && !wrap_in.blank? %> -<%= content_tag wrap_in do %> -<% c =[:linkbox] %> -<% c << "color-"+neuigkeit.rubrik.color.to_s+"-dark" unless neuigkeit.rubrik.color.nil? %> -<% c << "unpublished" unless neuigkeit.published? %> -<%= link_to [neuigkeit.rubrik,neuigkeit], {class: c} do %> -<%= render :partial=>"neuigkeiten/compact",:locals=> {:neuigkeit=> neuigkeit} %> -<% end %> + <%= content_tag wrap_in do %> -<% end %> + <% cache("neuigkeit_"+neuigkeit.id.to_s+"_"+neuigkeit.updated_at.try(:utc).try(:to_s)) do %> + <% c =[:linkbox] %> + <% c << "color-"+neuigkeit.rubrik.color.to_s+"-dark" unless neuigkeit.rubrik.color.nil? %> + <% c << "unpublished" unless neuigkeit.published? %> + <%= link_to [neuigkeit.rubrik,neuigkeit], {class: c} do %> + <%= render :partial=>"neuigkeiten/compact",:locals=> {:neuigkeit=> neuigkeit} %> + <% end %> + + <% end %> + <% end %> <% else %> +<% cache("neuigkeit_"+neuigkeit.id.to_s+"_"+neuigkeit.updated_at.try(:utc).try(:to_s)) do %> + <% c =[:linkbox] %> <% c << "color-"+neuigkeit.rubrik.color.to_s+"-dark" unless neuigkeit.rubrik.color.nil? %> + <% c << "unpublished" unless neuigkeit.published? %> <%= link_to [neuigkeit.rubrik,neuigkeit], {class: c} do %> <%= render :partial=>"neuigkeiten/compact",:locals=> {:neuigkeit=> neuigkeit} %> <% end %> +<% end %> <% end %> + + diff --git a/lib/like_voteable.rb b/lib/like_voteable.rb index 6db22f9..e852e5b 100644 --- a/lib/like_voteable.rb +++ b/lib/like_voteable.rb @@ -13,6 +13,7 @@ module LikeVoteable else @obj.liked_by current_user end + @obj.touch respond_to do |format| format.html { redirect_to @obj @@ -30,7 +31,7 @@ module LikeVoteable else @obj.disliked_by current_user end - + @obj.touch respond_to do |format| format.html { redirect_to @obj