Aktualisieren der Rails-Ansicht mit Faye aus der Datenbankänderung (after_commit callback) für das Modell

8

Ich bin sehr verwirrt und das ist meine erste Faye- oder Pub / Sub-Implementierung, also bitte vergib mir, wenn das eine grundlegende Frage ist. Ich habe nirgendwo anders Antworten gefunden. Jede Hilfe wird geschätzt.

Wie kann ich eine Rails-Ansichtsseite von einem Modellrückruf aufrufen und aktualisieren (after_commit, after_save etc)? Ich brauche einen JavaScript-Code, der das View-Update von views / conferences / _show_current_participants.js.erb aus ausführt, sobald der after_commit-Callback ausgelöst wird.

Ich habe es eingerichtet und es funktioniert, um das Javascript auszuführen und Update anzuzeigen, wenn ich ein link_to-Tag mit return => true auf der Ansicht verwenden. Die Sache ist, ich habe keine Benutzerinteraktion und muss Push-Updates auf die Seitenbasis nur auf Datenbankänderungen schieben (daher nach_commit Callback auf Modell). Ist das nicht das richtige Werkzeug / Designmuster / Ansatz?

Ich habe versucht, eine HTTP-Anfrage für den after_commit Callback zu Ссылка zu machen, aber das hat Faye / das Javascript nicht ausgelöst in der Seitenansicht ausgeführt werden.

Hier ist es: _show_current_participants.js.erb

%Vor%

Das funktioniert wie ein Zauber, wenn ich es auf ein link_to-Tag mit remote = & gt; wahr:

%Vor%

Wie kann ich dieses Setup ändern, anstatt auf einen Link klicken zu müssen, wird das JavaScript der Faye und der nachfolgenden Partials beim Rückruf des after_commit Modells aktiviert? Ist das die falsche Herangehensweise? Wie sonst kann ich meiner Meinung nach aktualisieren, basierend auf einer Datenbankänderung? Jede Hilfe wird geschätzt. Vielen Dank an jede Art von Seele, die mir helfen will, die richtige Richtung zu finden.

Versionen:

Faye 1.2.4 (nicht faye-rails)
Schienen 4.1.5
Ruby 2.3.0
An dieser Stelle mehr als eine super schöne Lösung suche ich nach etwas, das funktioniert.

    
Yuri 05.04.2017, 20:43
quelle

1 Antwort

0

Sie sollten Nachrichten mit einem JavaScript-Callback abonnieren:

%Vor%

Meine Referenz, von der dieser Code stammt und angepasst wird:

Ссылка

    
mico 20.04.2017 04:11
quelle