2016-05-12 21 views
0

Ich habe 2 Modelle eine für Kunden und eine für Anbieter, ich versuche, eine Website zu machen, wenn Kunden anmelden, können sie mit ihrer Suche IP-Adresse und Suche nach dem Standort in der Nähe, das Ergebnis wird ein Anbieter mit der Adresse in der Nähe sein. Bis jetzt plane ich Geocoder und gmap4rails gem zu verwenden. Ich bin mir immer noch nicht sicher, wie ich die Anbieteradresse mit Geocoder speichern würde, damit bei der Kundensuche das korrekte Ergebnis angezeigt wird. Kann jemand einen Vorschlag zur Gestaltung dieser Funktion geben?Geocoder Edelstein verwenden, um die Adresse einer Modellsuche mit der Adresse des anderen Modells zu speichern

+0

Können Sie zeigen, was Sie versucht haben? –

+0

Ich habe nichts wirklich versucht, so weit habe ich nur in der Lage, Kunden und Anbieter zu unterzeichnen und ihre Kontoinformationen zu aktualisieren, ich bin mir nicht sicher, welchen Schritt ich als nächstes tun sollte, um die oben genannte Funktion einzurichten. Ich brauche nur eine Art generelles Design für das Feature. – KhoaVo

Antwort

0

Da Sie nur für eine „Design“ und nicht Code suchen, kann ich skizzieren nur die breiten Stufen:

ip Formular abgeschickt =>
Lookup-Geodaten für lokale Unternehmen =>
speichern Geodaten in "Vendor" -Modell =>

Der einzige Nicht-Standard-Schienen-Teil davon ist der Geo-Lookup.

Es gibt mehrere Möglichkeiten, dies zu tun, sicherlich mit einigen externen API. Ich denke nicht, dass die geocoder oder gmap4rails Edelsteine ​​diese Funktionalität haben.

Während Sie wahrscheinlich gmap4rails für Ihre Ansichtsebene verwenden, bin ich mir nicht sicher, ob Sie den Edelstein geocoder benötigen, wenn Sie einen anderen Dienst zum Durchführen der Anbietersuche verwenden. Dieser externe Dienst könnte dasselbe bewirken.

Für welche externe Dienstleistung zu verwenden: Ich würde Yelp oder eine von Google APIs suchen.


Als Antwort auf Ihren Kommentar:

Wenn sich ein Benutzer anmeldet, werden Sie wahrscheinlich wollen für sie ein session Cookie setzen.

Es gibt keinen Grund dafür, dass das IP-Formular jedem Benutzer gehört. Wenn das Formular gesendet wird, können Sie den aktuell angemeldeten Benutzer von der Controller-Aktion nachschlagen, die beim Übermitteln des Formulars getroffen wird.

Wenn Sie Lieferantendaten in Ihrer Datenbank speichern, können Sie die Daten in der Ansicht darstellen.

Wenn diese Konzepte für Sie neu sind, würde ich empfehlen, ein ausführliches Tutorial von Rails durchzugehen.

+0

also gehört das IP-Formular zum Kundenkonto und wenn ein Kunde sich anmeldet, kann er/sie nach einer Liste von Lieferanten mit einer Adresse in der Nähe suchen? – KhoaVo

+0

@KhoaVo Ich antwortete auf Ihren Kommentar mit einer Bearbeitung. –

+0

@KhoaVo danke, dass du meine Antwort akzeptierst, aber es ist nicht nötig, es so bald nach dem Posten zu tun. Sie können mehr Antworten erhalten, wenn Sie es für eine Weile nicht mehr akzeptieren. –