Ich habe einen ziemlich einfachen Chat-Dienst mit Rails 5 und ActionCable. Es erlaubt dem Benutzer, 1 von einer Handvoll von Zimmern zu wählen, und alles funktioniert super und es hat super Spaß gemacht.Verwendung von ActionCable zusammen mit Geolocation-Diensten
Das nächste Problem, das ich angehen möchte, ist die Verwendung von Geolocation, um nur Nachrichten anzuzeigen, die sich in X-Meilen befinden. Ich habe Längen- und Breitengrad im Nachrichtenmodell und bin mir bewusst, dass Geokit und Geocoder sind, sodass ich weiß, dass ich Nachrichten in einer bestimmten Entfernung zum Benutzer finden kann. Was ich nicht begriffen kann, ist die Verwendung in Verbindung mit ActionCable. Die Idee klang so einfach in meinem Kopf, aber als es Zeit für die Umsetzung war, kann ich mir nicht vorstellen, wie ich das elegant hinbekomme. Erlaube ich einfach alle Zimmernachrichten und filtere sie durch JavaScript auf dem Client? Das scheint eine Art Hacky zu sein und eine Verschwendung von Bandbreite für eine Reihe von Nachrichten, die für den Client sind, ohne jemals die Schnittstelle zu erreichen. Leider ist dies die einzige Methode, an die ich denken konnte.
würden Sie keine Suche nach Nachrichten wie so '@mesages = Message.where (message.distance_to (user.address)
Dies würde funktionieren, um die erste Sammlung von letzten Nachrichten aber Für die ActionCable-Übertragung müsste ich nur an die Benutzer im Bereich dieser Nachricht senden. –
Entschuldigung keine Kenntnis von ActionCable, aber die Auswahl dort kann umgekehrt werden, wo Sie selektiv auswählen können, welcher Benutzer was bekommt –