2010-08-11 3 views
3

Je crée une application Web DB avec grails pour mon entreprise et je me suis trouvé dans le besoin de changer les modèles d'échafaudages par défaut. Jusqu'à présent, tout est généré avec les modèles modifiés (contrôleurs, vues, ..).Modèles d'échafaudage Multiple Grails dans une application

Maintenant, cependant, je reçois une requête pour créer des "écrans composites" avec des fonctionnalités et une mise en page qui diffèrent des modèles écrasés. Maintenant, ma question est: est-il possible dans Grails de créer un ou plusieurs modèles (à côté de celui par défaut) et de passer ce nom de modèle comme argument aux commandes generate-*?

Merci d'avance! L'ajout du nom de modèle aux commandes de génération était juste une idée, s'il est possible de faire ceci d'une manière différente, je serai heureux aussi.

Répondre

2

Les commandes Grails sont des scripts dans grails/scripts. Si vous suivez sa logique, vous verrez deux choses.

1) Il n'y a qu'un seul paramètre passé au script → domaine.

2) La classe de génération de vues est DefaultGrailsTemplateGenerator. Vous pouvez analyser sourcecode et vérifier ce que cette classe offre.

Mise à jour

Lien vers DefaultGrailsTemplateGenerator in GitHub.

+0

Va probablement étendre/écraser cette classe/script. Je reviendrai à vous à ce sujet. – Molske

+0

J'ai eu quelques problèmes avec l'annulation de ces classes/scripts, mais finalement cela commence à fonctionner. Merci pour la réponse. – Molske

+0

Pour votre information, Google Code Search n'est plus actif. Seriez-vous assez aimable pour mettre à jour votre lien pour pointer vers la source Grails réelle? – cdeszaq

2

Je ne suis pas sûr au sujet des paramètres de commande de génération, mais si vous ajoutez une autre page .gsp dans le répertoire d'échafaudage, je crois qu'il essayera de l'exécuter par le processus de génération. Par exemple, j'avais l'habitude d'avoir une page show.gsp ainsi qu'une page showBasic.gsp, qui montrait moins de propriétés.

+0

c'est vrai que cela fonctionne, mais je dois aussi remplacer le contrôleur, sinon, la logique du contrôleur ne correspondra plus aux vues. – Molske

Questions connexes