2017-04-27 1 views
-1

Je vous écris une application rails où les utilisateurs peuvent avoir leur propre sous-domaine à base de nom d'utilisateur comme les pages GitHub => USERNAME.github.ioComment mettre en œuvre des sous-domaines spécifiques de l'utilisateur dans des rails

Ce que je l'ai fait est créé un contrôleur qui analyse le sous-domaine de la requête et trouve l'utilisateur correspondant.

def show 
@user = User.where(name: request.subdomain) 
end 

maintenant comment dois-je écrire mon itinéraire afin que je puisse accepter une sous-domaine spécifique de l'utilisateur et le diriger vers le contrôleur ci-dessus

Répondre

3

Oui, vous pouvez obtenir le sous-domaine dans vos itinéraires et directement à votre contrôleur.

Vous obtiendrez votre sous-domaine soit avec un assistant ou dans vos itinéraires avec regexp. un exemple regexp est inférieur à

get '/', to: 'controller#show', constraints: { subdomain: '/^[a-zA-Z]*/' } 

l'exemple ci-dessus devrait obtenir un sous-domaine typique.

vous pouvez trouver de bons exemples ici dans les liens ci-dessous. Le casting de rails a un très bon exemple de routage par sous-domaine

http://guides.rubyonrails.org/routing.html http://railscasts.com/episodes/221-subdomains-in-rails-3