diff --git a/app/controllers/cards_controller.rb b/app/controllers/cards_controller.rb index 809428f91..cd8abfaa8 100644 --- a/app/controllers/cards_controller.rb +++ b/app/controllers/cards_controller.rb @@ -27,7 +27,9 @@ class CardsController < ApplicationController end def update - @card.update! card_params + suppressing_broadcasts_unless_published(@card) do + @card.update! card_params + end if @card.published? render_card_replacement @@ -50,6 +52,14 @@ class CardsController < ApplicationController @card = Current.user.accessible_cards.find params[:id] end + def suppressing_broadcasts_unless_published(&block) + if @card.published? + yield + else + Collection.suppressing_turbo_broadcasts(&block) + end + end + def card_params params.expect(card: [ :status, :title, :description, :image, tag_ids: [] ]) end