L'essentiel de Ruby on Rails

Solution : Intégrer les réponses dans le sujet de la discussion

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Régis Millet vous donne ses astuces pour obtenir les réponses des sujets de discussion à l'intérieur de la page show. Pour cela, vous mettrez en œuvre les partials.
05:13

Transcription

Nous allons résoudre cet exercice qui consistait à mettre les réponses de nos sujets de discussion à l’intérieur de la page Show des sujets de discussion. La piste que j’ai donné indiquait d’utiliser un partial : _index. Commençons donc par créer ce partial. En réalité, nous allons tout bonnement modifier le fichier index.html. Plutôt que d’utiliser cette structure de tableau, nous allons utiliser le système de grille issu de Foundation. Ecrivons la boucle Ruby. Pour chaque réponse, on génère une ligne. Je vais également mettre un séparateur grâce à la balise hr. Placez à l’intérieur le reste du code. Je n’ai évidement pas à inventer ce code. La plupart des classes CSS que vous voyez ici sont issues de la documentation de Foundation. Supprimons le reste du code qui devient inutile. Comme nous avons transformé la vue Index en partial, il nous faut maintenant supprimer l’action qui ne sera plus utilisée. Rendons-nous dans le contrôleur et retirons-la. Effectuons également la modification pour ne plus avoir accès à cette route. Rajoutons ici le mot-clé except:[index]. Il nous faut maintenant modifier toutes les occurrences de la méthode topics_answers_path. Supprimons cette première occurrence. Pour les autres, remplaçons par topics_path afin de rediriger vers l’index des sujets de discussion. Faites ceci pour toutes les occurrences. En ce qui concernait la première, c’était le lien dans notre menu, dans l’en-tête de notre site. Nous n’en avons désormais plus besoin. N’oubliez pas de vérifier également le contrôleur. Nous allons maintenant modifier l’action Show de notre contrôleur topics pour avoir accès aux réponses dans la page de visualisation d’un sujet de discussion. N’oublions pas d’utiliser la méthode paginate pour paginer les réponses. Initialisons également une variable topics_answers pour le formulaire. Nous allons d’ailleurs en profiter pour modifier un peu le formulaire, pour le rendre plus sympathique. Là encore, ce code est issu de la documentation de Foundation. C’est ici l’occasion, pour moi, de vous présenter une nouvelle méthode : new record. Cette méthode va tester si @topic_answer est une nouvelle donnée ou pas. Autrement dit, lorsqu’on va l’éditer, cette méthode renverra Faux, et lorsque l’on crée, cette méthode renverra Vrai. Nous utilisons ensuite une syntaxe appelée syntaxe ternaire. Cette syntaxe plus concise revient au même que d’écrire if topic_answer.new_record, alors afficher répondre, Else afficher Éditer les réponses. Reste à modifier la page Show de la donnée topic pour y ajouter les partials. Testons d’abord s’il y a des réponses à afficher. Ici c’est le cas. Affichons-les. Nous pouvons ajouter ici une indication sur le nombre de réponses. Affichons également le formulaire de création d’une nouvelle réponse. Enfin, n’oublions pas de mettre la pagination de will_paginate pour les réponses. Testons. Nous ne voyons pas ici nos réponses. Faites attention qu’une erreur de typo peut vous être fatale pour ce genre de développement. Vous voyez ici le s en trop. Maintenant qu’il n’est plus là, nous pouvons rafraîchir le site et voyons désormais nos réponses. Nous avons pratiqué, dans cette vidéo, davantage, les partials pour afficher des données à l’intérieur d’une page Show d’une autre donnée. Notre application commence un peu plus à ressembler à Stack Overflow.

L'essentiel de Ruby on Rails

Concevez des applications web évolutives et intemporelles avec Ruby on Rails. Installez l’environnement, réalisez un projet de stack overflow, enrichissez-le, etc.

6h08 (85 vidéos)
Aucun commentaire n´est disponible actuellement

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !