Bonjour, je suis débutante en grails. Je suis en train de développer un réseau social qui gère l'ajout de nouveaux statuts et images. Il devrait aussi gérer les vidéos mais je n'y suis pas encore arrivée.
Bref, j'ai créé 3 domain classes: status, pictures et videos, qui héritent toutes les 3 de la domain class post comme suit:
J'ai aussi prévu la domain class comment pour les commentaires.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 class Status extends Post { String content } class Picture extends Post { String title String image } class Video extends Post { String title String video } class Post { User author Date dateCreated static hasMany = [comments: Comment] }
En visitant la page d'index des posts, j'ai donc une liste des posts publiés (y compris statuts, images et vidéos) et je peux commenter chaque post à part.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 class Comment { User user String content static belongsTo = [post:Post] }
Et c'est là où je bloque.
La méthode save du commentController est comme suit:
Cependant, mon application détecte uniquement l'utilisateur de la session courante et non pas le post qu'on est en train de commenter.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 def save() { def commentInstance = new Comment(params) def user = session.user def post = session.post commentInstance.user = user commentInstance.post = post if (!commentInstance.save(flush: true)) { render(view: "create", model: [commentInstance: commentInstance]) return } flash.message = message(code: 'default.created.message', args: [message(code: 'comment.label', default: 'Comment'), commentInstance.id]) redirect(action: "show", id: commentInstance.id) }
Pourriez-vous s'il vous plait m'aider à résoudre ce problème?
Je me tiens à votre disposition si quelque chose n'est pas clair dans mon explication de l'application
Partager