Я хочу сохранить это, чтобы закрыть вкладку — непротестированный код от LLM, представленный здесь как monkey patch для применения в rails-консоли на работающей системе, но также содержащий предложенное LLM решение для этой уязвимости, которая приводит к ошибке:
# Повторно открываем CurrentUserSerializer, чтобы переопределить сломанный метод
class CurrentUserSerializer < ApplicationSerializer
def has_new_upcoming_changes
last_visited = object.custom_fields["last_visited_upcoming_changes_at"]
# Извлекаем строку, если она была закэширована как массив предроадером
last_visited = last_visited.first if last_visited.is_a?(Array)
return false if last_visited.blank? && object.created_at < Discourse.site_creation_date + 1.hour
cutoff = last_visited.present? ? Time.zone.parse(last_visited.to_s) : object.created_at
UpcomingChangeEvent.added.not_backfilled.where("created_at > ?", cutoff).exists?
end
end