Update events when rated

When fragment caching is enabled—

    --- a/config/environments/test.rb
    +++ b/config/environments/test.rb
    @@ -27 +26,0 @@
    -  config.action_controller.perform_caching = false
    @@ -29 +27,0 @@
    -  config.cache_store = :null_store

—the test of voting fails with:

    expected to find css ".rating.bright" … 3 times but there were no matches
    expected to find visible css ".rating:not(.bright)" … 2 times, found 5 matches
    # ./spec/features/voting_spec.rb:31
    # ./spec/features/voting_spec.rb:30
    # ./spec/features/voting_spec.rb:53

i.e. the rating displayed on the event index is not updated after
voting, because while the fragment’s cache dependencies include the
event, voting doesn’t update the event.

re #2767
This commit is contained in:
Andrew Kvalheim 2023-03-01 11:33:21 -08:00
parent 4df59d85e2
commit 17366c6eab

View file

@ -2,7 +2,7 @@
class Vote < ApplicationRecord
belongs_to :user
belongs_to :event
belongs_to :event, touch: true
validates :user_id, uniqueness: { scope: :event_id }