From 05dfd632c73b605232a77f27ff8d5b888efe5b00 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 5 Mar 2019 03:45:56 +0100 Subject: [PATCH] Fix poll options not being stripped of surrounding whitespace on save (#10168) --- app/models/poll.rb | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/app/models/poll.rb b/app/models/poll.rb index ba0b17f9194..ab7236d455f 100644 --- a/app/models/poll.rb +++ b/app/models/poll.rb @@ -32,8 +32,11 @@ class Poll < ApplicationRecord scope :attached, -> { where.not(status_id: nil) } scope :unattached, -> { where(status_id: nil) } + before_validation :prepare_options before_validation :prepare_votes_count + after_initialize :prepare_cached_tallies + after_commit :reset_parent_cache, on: :update def loaded_options @@ -75,6 +78,10 @@ class Poll < ApplicationRecord self.votes_count = cached_tallies.sum unless cached_tallies.empty? end + def prepare_options + self.options = options.map(&:strip).reject(&:blank?) + end + def reset_parent_cache return if status_id.nil? Rails.cache.delete("statuses/#{status_id}")