Private Nachrichten wie man sie in den Posteingang von Gesendet verschiebt, wenn sie aus Vanilla importiert wurden

In der Regel enthält der Posteingang nur private Nachrichten, bei denen entweder:

  1. Sie eine von einer anderen Person gesendete private Nachricht erhalten haben.
  2. Jemand auf eine von Ihnen gesendete private Nachricht geantwortet hat.

Ich habe beim Import von anderen Foren festgestellt, dass private Nachrichten in Kategorie #2 im Posteingang nicht korrekt angezeigt werden, selbst wenn das Thema Antworten enthält. Dies liegt scheinbar an einer Bedingung in der Abfrage für den Posteingang, die sich auf das Feld participant_count des Themas bezieht. Der Importer aktualisiert dieses Feld nicht ordnungsgemäß, sodass es standardmäßig auf 1 gesetzt wird. Wenn der participant_count 1 beträgt, gibt die Abfrage dieses Thema nicht für die Anzeige in der Posteingangsansicht zurück.

Um dies zu beheben, müssen Sie entweder den Importer so anpassen, dass er eine Anzahl der Teilnehmer in der privaten Nachricht enthält, oder die Teilnehmeranzahl nach dem Import aktualisieren. Dies kann durch Ausführen des folgenden Befehls in der Rails-Konsole erreicht werden:

Topic.private_messages.map(&:update_statistics)

Mehr dazu: