Question sur les sous domaines dans les routes

Salut !
Mon problème semble simple mais je n’arrive toujours pas à trouver une
solution simple…

Je gère de manière dynamique les sous-domaines dans mon application.
Ces sous-domaines correspondent au nom d’une ville.

Je voudrais que mes URLs ressemblent à :

http://ville.serveur.com/batiment/nom_batiment

exemple :
http://paris.serveur.com/batiment/louvre

Mes routes ont cette route :

map.batiment ‘batiment/:id’, :controller => ‘batiments’, :action =>
‘show’

Quand j’utilise batiment_url(nom_batiment) j’obtiens bien l’URL du
batiment mais sans la gestion du sous-domaine. Comment lui faire gérer
cette histoire de sous-domaines ? Pour l’instant j’ai créé en dur une
fonction helper qui me renvoi un lien tout fait avec les 2 arguments
nom_batiment et ville, mais j’aimerai savoir s’il y a mieux…?

Merci !
Nicolas.

Quand j’utilise batiment_url(nom_batiment) j’obtiens bien l’URL du
batiment mais sans la gestion du sous-domaine. Comment lui faire gérer
cette histoire de sous-domaines ? Pour l’instant j’ai créé en dur une
fonction helper qui me renvoi un lien tout fait avec les 2 arguments
nom_batiment et ville, mais j’aimerai savoir s’il y a mieux…?

Il y a plus simple, mais pas forcement mieux puisque pas très model
métier ce qui est dommage dans ton cas
batiment_url :host => ‘paris.fr’, :id => 666

Petit tips bien pratique et pas super
documenté:Dans la console tu as l’object ‘app’ qui permet de tester les helpers
de route

nel-mac:feedback nel$ script/console
Loading development environment.

app.feedback_url :id => 1, :host => ‘feedback20.com
=> “http://feedback20.com/feedbacks/1

Merci Renaud pour ta réponse et pour l’objet app dans la console, je
connaissais pas !

Je me réponds à moi-même et après pas mal de surf intensif et de
Google, j’ai trouvé et utilisé deux petits plugins que j’ai
modifiéset qui fonctionnent désormais bien à priori avec Rails 2.0.

Ces deux fichiers me permettent de spécifier un sous domaine aussi
bien pour la génération d’URL (url_for) que la reconnaissance.

Voila les deux plugins qui devraient être utiles à tous ceux qui
veulent utiliser les sous-domaines dans leur appli Rails :

Parked at Loopia (pour les conditions de reconnaissance)
Parked at Loopia (pour la génération)

Désormais il est possible de rajouter un bloc de conditions dans
chaque route (exemple :conditions => { :subdomain => ‘www’ })
et en rajoutant :subdomain => ‘www’ directement dans la route ou dans
url_for, la route sera aussi générée avec ce sous-domaine.

J’aime bien les histoires qui finissent bien ;).

Nicolas.

On 3 jan, 10:51, “Renaud (Nel) Morvan” [email protected]