2010-07-22 6 views
4

Je souhaite utiliser les nouvelles perspectives de modularité offertes par les changements d'architecture dans les rails 3. Cependant, plutôt que de simplement monter un moteur comme dans la majorité des exemples ..Monter plusieurs instances du même moteur dans Rails 3

Rails.application.routes.draw do 
    match "/blog" => Rack::Blog 
end 

... Je voudrais monter plusieurs versions des mêmes moteurs, et avoir ces instances indépendamment configurées. Quelque chose dans le sens de ...

Rails.application.routes.draw do 
    match "/news" => Blog.new("path/to/blog_1/config") 
    match "/blog" => Blog.new("path/to/blog_2/config") 
end 

Est-ce que ce type de fonctionnalité est prévu? Est-ce que quelqu'un a implémenté quelque chose de similaire

Merci, fturtle

+0

Bonjour, je me retrouve dans la même situation, Rails 4 a-t-il mis en place quelque chose qui rende cela possible? – caesarsol

Répondre

1

Mon instinct me dit non, parce que l'espace de nommage de la première mise en œuvre interviendrait sur les orteils de la seconde. Bien que les fichiers seraient les mêmes, je suppose que cela n'aurait pas d'importance? Comment êtes-vous arrivé à la fin?

+0

Pensez que nous avons fini par faire quelque chose comme la gemme de legs - créer un objet/méthode qui est disponible pour le routeur, et qui peut écrire dynamiquement les itinéraires basés sur une certaine entrée. – fturtle

+0

@fturtle, comment l'implémentez-vous? Nous avons la même situation de monter le même moteur plusieurs fois. Merci. – user938363

+1

Jetez un oeil à ce fichier: https://github.com/plataformatec/devise/blob/master/lib/devise/rails/routes.rb C'est la méthode 'devise_for 'qui est appelée dans le fichier routes. –

Questions connexes