L'essentiel de Ruby on Rails

Créer un topic

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Vous disposez désormais du formulaire adéquat pour créer une donnée topic. Il ne vous reste plus qu'à la sauvegarder dans la base de données.
04:42

Transcription

Nous allons voir, dans cette vidéo, comment sauvegarder un sujet de discussion dans notre base de données à partir de notre formulaire. Nous avons ici un formulaire lié au modèle topic. Si nous ne fournissons pas d'URL, que se passe-t-il si nous enlevons le paramètre url ? Le framework Rails s'attend à ce qu'il existe une méthode topics_path Cette méthode est directement issue des routes que nous avons définies dans notre fichier routes.rb Ces méthodes qui peuvent directement utilisées dans les vues et les contrôleurs font en réalité référence à des URL. Nous pouvons le vérifier grâce à la commande rake routes La première colonne du résultat de cette commande sont les méthodes générées qui pourront être utilisées dans les vues. Par exemple, ici, nous avons about ce qui signifie que dans les vues nous pourrions utiliser cette méthode : about_path Nous voyons que chaque méthode est associée à GET, une URL, un contrôleur et une action. Il nous faut donc créer une nouvelle route pour que la méthode topics_path soit définie. Pour ce faire, rendons-nous dans le fichier routes.rb Cette fois-ci, il s'agit de récupérer des données et non pas d'afficher une page. Aussi devons-nous utiliser le mot-clé post, post comme poster ou envoyer des informations. Rajoutons ensuite topics puis associons cela à topics# et l'action create. Créons cette action dans notre contrôleur. Et réexécutons, juste pour voir, la commande rake routes. Nous voyons notre nouvelle route qui vient s'ajouter la liste des routes précédentes. Cette dernière est bien associée à la méthode topics. Regardons si cela fonctionne. Il semble que oui. Il nous reste maintenant à enregistrer notre donnée topic au sein de notre base de données. Pour se faire, rendez-vous dans votre contrôleur topics_controller et modifiez l'action create. Rajoutez @topic égale Topic.new entre parenthèses topic_params topic_params correspond à une méthode. Écrivons-là. Écrivez la ligne suivante, ne vous inquiétez pas, je vais vous l'expliquer. Cette ligne nous vient tout directement d'une gem qui s'appelle strong parameters Cette gem a été intégrée par défaut dans la version 4 de Ruby on Rails. params est une variable de Ruby on Rails qui nous permettra d'accéder aux paramètres envoyés par l'utilisateur depuis le formulaire. params se trouve être un Hash en Ruby on Rails, à ce titre il possède des clés. Lorsque l'utilisateur soumettra le formulaire, params aura une structure similaire à ceci. Via l'usage de la méthode require, nous demandons à ce que params contienne forcément la clé topic. Enfin, via l'usage de la méthode permit, nous autorisons l'utilisateur à renseigner un titre et un contenu. Pour le moment, nous n'avons fait qu'initialiser un nouveau topic. Il nous reste encore à le sauvegarder en base de données. Pour ce faire, utilisez la méthode save. Cette méthode existe car topic est un modèle, il hérite d'Active Record base qui contient cette méthode. Avant de tester si cela fonctionne, il nous faut encore rediriger l'utilisateur si le topic arrive effectivement bien à se sauvegarder. Pour ce faire, nous pouvons utiliser la méthode redirect_to et renseigner ici la méthode topics_new_path Grâce à cette ligne, nous indiquons à Ruby on Rails que nous allons rediriger notre utilisateur vers l'action new de notre contrôleur si le topic arrive bien à se sauvegarder en base de données. Nous pouvons désormais tester une création d'un sujet de discussion. Comme pour le moment nous n'affichons pas encore les sujets de discussion, nous ne savons pas vraiment si cela s'est créé. Mais, croyez-moi sur parole, c'est bel et bien le cas. Nous venons de voir, dans cette vidéo, comment créer un sujet de discussion en base de données. Nous avons finalisé un formulaire et ajouté une action create au contrôleur topics_controller.

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 !