Ich bin mit privaten Gruppen-Postfächern nicht sehr vertraut und bin mir nicht sicher, wie ich das Problem reproduzieren kann, aber folgendes tritt auf:
Ein privates Nachrichtenpostfach wurde für eine Gruppe eingerichtet, nennen wir sie ExampleGroup.
Ein Mitglied dieser Gruppe erhält eine Benachrichtigung: „Es gibt 6 Nachrichten in Ihrem ExampleGroup-Postfach“.
Beim Klicken auf diese Benachrichtigung wird versucht, /topics/private-messages-group/username/examplegroup.json zu laden.
Dies führt zu einem Fehler.
Ich vermute, dass dies daran liegt, dass es keine Gruppe namens examplegroup gibt. Die Gruppe heißt ExampleGroup.
group = Group.find_by(name: params[:group_name])
group = Group.where('lower(name) = ?', params[:group_name].downcase).first unless group
scheint das Problem zu lösen. Aber ich bin mir sicher, dass dies nicht das eigentliche Problem ist. Irgendwo wird der Parameter in Kleinbuchstaben umgewandelt, wo er es nicht sein sollte (meiner Meinung nach…).
Wenn Sie Benachrichtigungen direkt in der Konsole erstellen, wird die Groß-/Kleinschreibung im Link beachtet (dies funktioniert auch bei fingierten Daten).
Ich bin der Meinung, dass die richtige Lösung hier darin besteht, nicht zu verlangen, dass der Gruppenname in den URL-Parametern großgeschrieben wird. Dies wurde wie folgt umgesetzt:
Beachte, dass das Aufrufen von /u/username/messages/group/groupname eine AJAX-Anfrage an /topics/private-messages-group/username/groupname auslöst. Daher sieht der Ansatz, den @angus oben zur Fehlersuche verwendet hat, korrekt aus.