diff --git a/app/models/document.rb b/app/models/document.rb index cc24ef871..49ad4be9c 100644 --- a/app/models/document.rb +++ b/app/models/document.rb @@ -7,7 +7,7 @@ class Document < ApplicationRecord hash_secret: Rails.application.secrets.secret_key_base belongs_to :user - belongs_to :documentable, polymorphic: true + belongs_to :documentable, polymorphic: true, touch: true validates :title, presence: true validates :user_id, presence: true diff --git a/app/models/image.rb b/app/models/image.rb index 19825d629..0449042d8 100644 --- a/app/models/image.rb +++ b/app/models/image.rb @@ -12,7 +12,7 @@ class Image < ApplicationRecord hash_secret: Rails.application.secrets.secret_key_base belongs_to :user - belongs_to :imageable, polymorphic: true + belongs_to :imageable, polymorphic: true, touch: true validates :title, presence: true validate :validate_title_length diff --git a/app/views/budgets/investments/_investment_show.html.erb b/app/views/budgets/investments/_investment_show.html.erb index f96bb16d5..f2d73e421 100644 --- a/app/views/budgets/investments/_investment_show.html.erb +++ b/app/views/budgets/investments/_investment_show.html.erb @@ -9,7 +9,6 @@ <% cache [locale_and_user_status(investment), investment, - investment.image, investment.author, Flag.flagged?(current_user, investment), investment.followed_by?(current_user), diff --git a/spec/models/proposal_spec.rb b/spec/models/proposal_spec.rb index 25bbdaed0..cc72a1a23 100644 --- a/spec/models/proposal_spec.rb +++ b/spec/models/proposal_spec.rb @@ -400,6 +400,14 @@ describe Proposal do expect { proposal.update(tag_list: "new tag") }.to change { proposal.cache_version } end + it "expires cache when it has a new image" do + expect { create(:image, imageable: proposal) }.to change { proposal.cache_version } + end + + it "expires cache when it has a new document" do + expect { create(:document, documentable: proposal) }.to change { proposal.cache_version } + end + it "expires cache when hidden" do expect { proposal.hide }.to change { proposal.cache_version } end