Ich entwickle eine Rails-App, die standardmäßig Benutzerkonten zu einer Sub-Domain ihrer Wahl einrichtet. Als Option können sie ihre eigene vollständige Domain ihrem Konto zuordnen.Wie wird eine vollständige Domäne einem Subdomänen-basierten Rails App-Konto zugeordnet?
So weit habe ich die Dinge eingerichtet. Ich verwende subdomain-fu, um die Routing-Leistung:
# routes.rb
map.with_options :conditions => {:subdomain => true} do |app|
app.resources # User's application routes are all mapped here
end
map.with_options :conditions => {:subdomain => false} do |www|
www.resources # Public-facing sales website routes are mapped here
end
Zusätzlich zu, dass ich die method described here bin mit dem Konto zu erhalten, auf die zugegriffen, über Sub-Domain oder vollständige Domain:
before_filter :set_current_account
def set_current_account
if request.host.ends_with? current_domain
# via subdomain
@current_club = Club.find_by_subdomain(current_subdomain)
else
# via full domain
@current_club = Club.find_by_mapped_domain(request.host)
end
end
Ich habe nicht Ich bin sehr weit in den Prozess gekommen, dies zu bauen, aber schon jetzt kann ich sehen, dass ich Probleme mit dem Routing bekommen werde. Wenn request.host
eine random.com-Domain ist, wird subdomain-fu nicht die entsprechenden Routen routen?
Ich nehme an, das ist nicht so ungewöhnlich ein Problem, so kann jeder teilen, wie sie dieses Problem angepackt haben, oder wie ich meine Routen konfigurieren würde, um zu tun, was ich brauche?
Vielen Dank für Ihre Antwort. Nachdem ich mit der hier veröffentlichten Lösung experimentiert habe, bin ich zu dem Schluss gekommen, dass Sie Recht haben und aus Gründen der Einfachheit das Beste darin ist, es in zwei Apps aufzuteilen und Subdomain-Fu zu beseitigen. – aaronrussell