2010-04-29 14 views
8

est-il possible de déboguer le modèle d'échafaudage (généré in/src/matrice/échafaudage). Ne pas déboguer les fichiers gsp de vue, mais le modèle lui-même. Je suppose que je pourrais mettre quelques commentaires .. autre que ..Grails: Mise au point de modèle d'échafaudage

+1

Avez-vous trouvé jamais une solution à cela? – cdeszaq

Répondre

-1

Normalement vous ne devriez pas avoir à « debug » le modèle que les modèles fonctionnent plutôt bien.

Je pense que vous cherchez pour tracer le flux de données pour faire vos propres modifications aux modèles qui vous mènera à l'aide d'instructions d'impression. Sinon, vous envisagez d'utiliser le moteur de rendu de page.

Donc, il y a deux options que je vous recommande:

  1. états d'impression. C'est votre approche de force brute facile, éprouvée et vraie. Je l'ai utilisé il y a un an début 2011 pour un projet et ça marche bien. L'inconvénient est qu'il est non réutilisable (sauf si vous laissez votre code commenté, mais c'est un peu gênant). Cela vous permet de faire un pas dans les « entrailles » du système de modèles et de voir ce qui se passe. Le cadre ne peut pas vraiment vous «cacher» quelque chose, vous êtes donc aux premières loges de ce qui se passe.

  2. Utilisez le grails.gsp.PageRenderer

Cela vous permet de déboguer les choses lors de l'exécution, vous pouvez créer des tests appropriés, assène, des composants réutilisables, les travaux. Vous êtes un peu retiré des modèles réels (par opposition à l'utilisation d'instructions d'impression à l'intérieur des modèles).

Voici un lien vers le GRAILS Doc: Page Rendering Doc

Voici un lien vers un exemple sur la façon de les utiliser: Grails Goodness: Render GSP Views and...

+1

les modèles qui signifie Débogage « Je fais des changements que je pense devrait fonctionner mais ne pas ... pourquoi » – cdeszaq

+0

@cdeszaq si c'est le débogage alors je pense que la réponse est correcte. AfterAll, nous disons d'utiliser printlns pour déboguer les templates. Ici, cela ne signifie pas qu'un vrai débogueur devrait fonctionner. –