11
votes

Grails "Render" rend le modèle

Dans mon contrôleur GRAILS, je réponds à un appel AJAX et en utilisant rendu code> pour renvoyer le texte: xxx pré>

Le problème est que rendu rend le modèle entier. Donc, au lieu de simplement rendre «Nom: John», il rend toutes les icônes, la navigation, etc. définies dans le modèle. Comment puis-je obtenir rendu code> pour rendu sans le modèle? P>

Je suis à peu près le chapitre 1 de "Grails en action" (page 28) à l'aide de GRAVES 1.1.1. P>

Suivi STRUT>: Le renvoi de la suggestion de Faux par Rhysyngsun n'a aucun impact. J'ai également essayé de définir le modèle à NULL, mais cela rend toujours le modèle: p> xxx pré>

rendu code> a son cœur plié pour le rendre à travers le modèle, quel que soit le gabarit Ce que je fais. p>

Suivi 2 fort>: discussion parallèle sur la liste de diffusion de greils-utilisateur. P>

Suivi 3 strong> : Exemple code: J'ai couplé mon code le nu le strict minimum et il présente toujours le rendu des modèles indésirables. p>

contrôleurs / persontroller.groovy: p> xxx pré>

vues / personne / home.gsp (page de vue pour la méthode de la maison) p>

Test App 
ajax call 
Message = Hello 
Test App 
ajax message 


0 commentaires

4 Réponses :


0
votes

Nous avons constaté que cela renvoie explicitement faux de l'action corrige cela.

Je crois faire le rendu foo alors que JSON revient faux implicitement.


1 commentaires

Je viens d'essayer de retourner faux après le rendu et cela rend toujours le modèle.



3
votes

Faites de votre client Code JavaScript Poignée JSON Répondez et rendez votre réponse avec:

rendu [texte: "Nom: $ {personne.name}"] JSON


0 commentaires

13
votes

Résolu: Ajout de contenu de contenu dans le modèle n'est pas rendu: xxx


1 commentaires

Oui, veuillez élaborer sur l'endroit où vous avez trouvé cette réponse. Sur une note latérale, c'est une honte absolue que le chapitre 1, qui aurait dû me prendre 30 minutes, m'a pris des heures à compléter. Et, je suis complètement déçu par mon premier coup de poignard à Grails



3
votes

Vous pourriez être brûlé par la caractéristique «mise en page par convention» dans Grails. Si votre nom de mise en page correspond au préfixe du nom du contrôleur, par exemple, GRAVES appliquera la mise en page à chaque vue gérée par ce contrôleur. Malheureusement, il s'applique même au texte et aux modèles. Il y a actuellement quelques jiras connectées à ce sujet (voir http://jira.gails.org/browse/ Grails-7624 par exemple). J'ai été brûlé par cela aujourd'hui. Je l'ai résolu en renommant simplement ma mise en page GSP de telle sorte qu'il ne correspond à aucun nom du contrôleur. Ma mise en page a été initialement nommée «Storefront.gsp» et j'ai un contrôleur nommé StorefrontController. J'ai renommé la mise en page à "public.gsp".


0 commentaires