IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Ruby on Rails Discussion :

2 controllers dans un sous-dossier


Sujet :

Ruby on Rails

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 171
    Points : 91
    Points
    91
    Par défaut 2 controllers dans un sous-dossier
    Salut,

    j'ai une appli constituée par 2 controllers ('formulaire' et 'resultat') que je dois intégrer dans mon site web. Ces deux controllers sont donc associés aux chemins '/formulaire' et '/resultat'.

    Je voudrais regrouper ces deux controllers dans un sous-répertoire 'mon_appli' pour avoir ainsi '/mon_appli/formulaire' et '/mon_appli/resultat', clarifiant un peu la structure de mon site.

    Vous savez comment je peux faire ça? Je suppose que ca passe par la modification de routes.rb mais je ne vois pas exactement comment.
    Surtout que je voudrais que la réciproque soit vraie, i.e. que rails comprenne que quand je lui dis par exemple link_to :controller=>'formulaire', le chemin associé est '/mon_appli/formulaire' et non pas '/formulaire'.

    Merci d'avance pour votre aide

  2. #2
    Membre éclairé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    510
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 510
    Points : 652
    Points
    652
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    link_to :controller=>'mon_appli/formulaire'
    Pas besoin de toucher aux routes.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 171
    Points : 91
    Points
    91
    Par défaut
    Finalement j'ai trouvé : ils en parlaient dans le "Agile Web Dev with Rails"

    Il faut regrouper les controlleurs dans un module commun. Ils donnent un exemple dans le bouquin : si on a 2 controllers du même nom, mais correspondant à des sections du site différentes (typiquement la partie admin et la partie publique), il suffit de leur affecter un module différent à chacun :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    class Admin::BookController < ApplicationController 
    # ... 
    end 
     
    class Content::BookController < ApplicationController 
    # ... 
    end
    Ces deux controllers seraient accessibles via les URL :
    /admin/book et /content/book.

    Par contre Zfred, j'ai pas bien compris ta réponse : avec ta solution, j'aurais une erreur 'route not found', non? et de plus ta solution laisserait les URLs simples /formulaire et /resultat encore accessibles, ce que je ne veux pas.

Discussions similaires

  1. Tester l'existence d'un dossier dans plusieurs sous dossier
    Par titeZ dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 29/01/2008, 21h30
  2. Appel de fonction dans des sous dossiers
    Par milach dans le forum MATLAB
    Réponses: 1
    Dernier message: 03/01/2008, 14h24
  3. Réponses: 4
    Dernier message: 01/02/2007, 11h17
  4. Valuer un controle dans un sous-formulaire continu
    Par micniv dans le forum Access
    Réponses: 6
    Dernier message: 25/01/2007, 14h19
  5. Lire un fichier situé dans 2 sous dossier...
    Par Pleymo dans le forum Langage
    Réponses: 10
    Dernier message: 08/12/2005, 09h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo