Text für js.composer.error.post_length kann nicht aktualisiert werden

Ich versuche, den Text für js.composer.error.post_length zu aktualisieren. Dies tritt unter 2.9 und 3.1.0.beta2 auf, sowohl in der Produktions- als auch in der Staging-Umgebung und in meiner lokalen Umgebung.

Auf der Benutzeroberfläche wird [missing {{min}} value] angezeigt, obwohl der Wert gesetzt wurde.

Das Fehlerprotokoll besagt:

NoMethodError (undefined method `scan' for {:one=>"Post must be at least %{count} character", :other=>"Post must be at least %{count} characters"}:Hash keys = text.scan(pattern) ^^
Message

NoMethodError (undefined method `scan' for {:one=>"Post must be at least %{count} character", :other=>"Post must be at least %{count} characters"}:Hash

    keys = text.scan(pattern)
               ^^^^^
    lib/i18n/i18n_interpolation_keys_finder.rb:6:in `find'
    app/models/translation_override.rb:123:in `check_interpolation_keys'
    app/models/translation_override.rb:64:in `upsert!'
    app/controllers/admin/site_texts_controller.rb:88:in `update'
    app/controllers/application_controller.rb:414:in `block in with_resolved_locale'
    app/controllers/application_controller.rb:414:in `with_resolved_locale'
    lib/middleware/omniauth_bypass_middleware.rb:74:in `call'
    lib/content_security_policy/middleware.rb:12:in `call'
    config/initializers/100-quiet_logger.rb:20:in `call'
    config/initializers/100-silence_logger.rb:29:in `call'
    lib/middleware/missing_avatars.rb:22:in `call'
    lib/middleware/turbo_dev.rb:31:in `call'

Backtrace

lib/i18n/i18n_interpolation_keys_finder.rb:6:in `find'
app/models/translation_override.rb:123:in `check_interpolation_keys'
activesupport (7.0.4) lib/active_support/callbacks.rb:400:in `block in make_lambda'
activesupport (7.0.4) lib/active_support/callbacks.rb:199:in `block (2 levels) in halting'
activesupport (7.0.4) lib/active_support/callbacks.rb:687:in `block (2 levels) in default_terminator'
activesupport (7.0.4) lib/active_support/callbacks.rb:686:in `catch'
activesupport (7.0.4) lib/active_support/callbacks.rb:686:in `block in default_terminator'
activesupport (7.0.4) lib/active_support/callbacks.rb:200:in `block in halting'
activesupport (7.0.4) lib/active_support/callbacks.rb:595:in `block in invoke_before'
activesupport (7.0.4) lib/active_support/callbacks.rb:595:in `each'

Env

HTTP HOSTS: 127.0.0.1:3000
2 „Gefällt mir“

Diese Zeichenkette wurde bereits 2021 geändert. Sie verwendet %{count} anstelle von %{min} und wurde in eine pluralisierte Zeichenkette umgewandelt (one, other).

Sie können Ihre angepasste Zeichenkette korrigieren, indem Sie zu Anpassen → Text gehen:

  • Suchen Sie nach „js.composer.error.post_length“
  • Klicken Sie auf „Bearbeiten“
  • Klicken Sie auf „Änderungen rückgängig machen“ und bestätigen Sie die Frage mit „Ja“
  • Klicken Sie auf „Zurück zur Suche“
  • Suchen Sie nach „js.composer.error.post_length“
  • Sie sehen 2 Ergebnisse, passen Sie beide Zeichenketten nach Wunsch an
4 „Gefällt mir“

Ich frage mich, ob wir eine Fehlerbehandlung erstellen könnten, die in diesen Fällen auf Englisch zurückfällt und etwas protokolliert?

3 „Gefällt mir“

Aus irgendeinem Grund konnte ich das nicht zum Laufen bringen, der Bestätigungsdialog wurde wegen eines JS-Fehlers ‘get_attributes’ nicht geöffnet, das Dialogelement war null.

Aber dann habe ich den abgesicherten Modus aktiviert, geprüft, ob es funktionierte, und alles wurde automatisch aktualisiert. Ich habe den abgesicherten Modus deaktiviert, bin zu meinem Theme zurückgekehrt und wieder funktionierte alles wie vorgesehen.

Also hat der abgesicherte Modus es behoben, schätze ich. Und der oben erwähnte JS-Fehler ist nicht mehr vorhanden. (Hätte gleich im abgesicherten Modus versuchen sollen, smh).

Danke für deine Hilfe!

2 „Gefällt mir“