Rails: Routing einer Subdomain zu einer Ressource

8

Ist es möglich, eine Subdomain einer Ressource zuzuordnen? Ich habe ein Firmenmodell. Derzeit verwendet meine Routing-Datei unter Verwendung von subdomain_fu:

%Vor%

Mein Firmenmodell enthält eine "Subdomain" -Spalte.

Während dies wie vorgesehen funktioniert, ist es eine benannte Route und ist nicht erholsam. Im Wesentlichen muss ich "name.domain.com" der show-Aktion für den Unternehmenscontroller zuordnen. Ist eine benannte Route der richtige Weg oder kann ich eine Ressourcenroute verwenden?

    
Homar 19.08.2009, 14:29
quelle

4 Antworten

4

Ich kenne keine Möglichkeit, dies mit map.resources zu tun. Es akzeptiert eine Option :conditions , aber ich bin mir nicht sicher, wie Sie den /companies/ -Anteil der URL entfernen können. % Co_de% ist jedoch in erster Linie eine bequeme Methode, um eine Reihe von benannten Routen zu generieren, die Sie manuell ausführen können. So etwas.

%Vor%

Nicht getestet, aber es sollte dich nahe bringen.

    
ryanb 19.08.2009, 15:24
quelle
8

Man kann Bedingungen an eine Ressourcenroute sowie eine benannte Route übergeben. In einer Anwendung, die ich mit allem zu tun habe, wird auf ein Konto verwiesen. A: before_filter lädt das Konto mit der Subdomain. Für Ressourcen, die auf ein Konto beschränkt sind, möchten wir die Routen auf URLs mit Subdomains beschränken. Der DRY-Weg, dies zu tun, ist die Verwendung von Karten mit Optionen:

%Vor%

Wie Sie sehen können, wird eine benannte Route auch einen Bedingungshash mit einer Subdomain akzeptieren. Sie können auch den oben dargestellten Ansatz Ryan verwenden oder Sie können Bedingungen pro Ressource angeben:

%Vor%     
Steve Graham 02.12.2009 20:29
quelle
2

Hier ist eine vollständige Beispielimplementierung von Rails 3-Subdomains mit Authentifizierung (zusammen mit einem detaillierten Tutorial). In Rails 3 ist das viel einfacher als in Rails 2 (kein Plugin erforderlich).

    
Daniel Kehoe 07.09.2010 20:28
quelle
2

Wenn Sie die aus Daniels Antwort verknüpfte Ressource verwenden, ist in Rails 3 die Methode zum Weiterleiten von '/' an einen anderen Controller abhängig von der Subdomäne wie folgt:

%Vor%     
William Denniss 09.08.2011 09:26
quelle