Dans le cours : L'essentiel de Ruby on Rails
Générer du code grâce à Rails - Tutoriel Ruby on Rails
Dans le cours : L'essentiel de Ruby on Rails
Générer du code grâce à Rails
Voilà à mon avis une vidéo qui va en intéresser plus d’un. Je suis sûr que vous avez passé du temps et vous vous êtes souvent pris la tête pour réussir à réaliser les actions pour vos contrôleurs, notamment pour gérer des sujets de discussion, les créer, les supprimer, les éditer, Bref, que vous avez eu un nombre d’erreurs incalculables et que vous avez parfois même peut-être eu envie de baisser les mains. Qu’est-ce que vous diriez si je vous disais qu’en une seule commande, vous auriez pu faire tout cela sans vous prendre la tête ? Vous ne me croyez pas ? Regardons. Nous allons créer des réponses pour nos sujets de discussion. Pour cela, utilisons la commande rails generate scaffold. Mettons TopicAnswer qui représente le nom de notre modèle, suivi de ses différentes propriétés. Les réponses auront également un titre. Nous avons vu qu’ici on mettait string, un contenu avec texte, et de la même manière, qu’ils sont publiés ou non. Exécutons la commande. Cela est assez rapide et vous voyez que Ruby on Rails a créé énormément de fichiers. Il en a même créé certains que vous ne connaissez pas encore. Mais cela n’est pas grave, vous aurez tout le temps de les explorer par la suite. Ce qui nous intéresse nous, c’est qu’il a créé un modèle, un contrôleur, les vues correspondantes, un fichier de migration. Bref, il a créé toute la logique pour nous. Il a même rajouté une ligne de ressources dans notre fichier routes.rb. Nous allons d’ailleurs la déplacer et la mettre à la suite de ressources :topics. Voyons maintenant ce qu’il a mis dans le contrôleur. Nous y retrouvons l’action index, show, new, edit, create, update, destroy, ainsi que ici set_topic_answer, topic_answer_params, bref, toute la logique que nous avions écrite nous-même pour les sujets de discussion topic. Nous avons également le modèle et les vues correspondantes. Nous retrouvons ici le formulaire, la page d’edit, la page d’annex, page new, page show, etc. Pour pouvoir tester cela dans notre site, il nous reste deux petites choses à faire. La première, c’est rake db :migrate ou rails db:migrate, ça revient au même. La seconde, il s’agit d’ajouter un lien pour pouvoir accéder à notre liste de réponse. Pour ce faire, rendons-nous dans notre layouts, application et rajoutons un lien. Mettons ici une liste des réponses, puis topic_answers_path. Mettons-le après la liste des sujets. Sauvegardons et allons voir ce que cela donne. Nous retrouvons ici notre liste des réponses, pouvant cliquer dessus, pouvant en ajouter une, pouvant dire s’il est publié ou non, la créer, nous pouvons revenir sur l’index, bref, faire exactement ce que nous pouvons faire pour les sujets de discussion. Mais ici, il s’agit des réponses que nous avons générées uniquement à l’aide d’une commande. Peut-être que l’apparence de votre site a été légèrement modifiée. Comme c’est le cas ici. C’est là, l’un des rares inconvénients de Scaffold, c’est qu’il crée des fichiers dont on n’a pas forcément besoin. Il a notamment généré le fichier scaffolds.scss. Supprimons-le pour le moment. C’est lui qui était notamment responsable de la légère modification de l’apparence de notre site. Mais il existe des options de la commande scaffold permettant d’éviter une génération de ce type de fichier non souhaitable. Pour voir les options existantes, vous pouvez écrire rails g scaffold suivi de l’option help avec deux tirets. Vous avez ici une courte documentation sur cette commande, ainsi que toutes les options que vous pouvez utiliser. Vous voyez notamment ici l’option --no-stylesheets qui permettra d’éviter à la commande rails generate scaffold de générer des feuilles de style qui nous gêneraient. Vous avez vu dans cette vidéo comment générer toutes les pages permettant de générer des données topic answers grâce à la méthode scaffold.
Table des matières
-
-
-
-
-
-
-
(Verrouillé)
Poser un squelette HTML responsive3 m 55 s
-
(Verrouillé)
Découvrir les partials3 m 15 s
-
(Verrouillé)
Connaître les tâches rake7 m 47 s
-
(Verrouillé)
Mettre en place will_paginate4 m 12 s
-
(Verrouillé)
Créer un champ de recherche7 m 4 s
-
(Verrouillé)
Comprendre les scopes5 m 14 s
-
Générer du code grâce à Rails4 m 15 s
-
(Verrouillé)
Styliser les pages avec SCSS4 m 39 s
-
(Verrouillé)
Rajouter des images2 m 37 s
-
(Verrouillé)
Intégrer jQuery dans Rails 5.12 m 51 s
-
(Verrouillé)
Découvrir turbolinks et coffee2 m 59 s
-
(Verrouillé)
Utiliser une font icon3 m 1 s
-
(Verrouillé)
Défi : Intégrer les réponses dans le sujet de la discussion57 s
-
(Verrouillé)
Solution : Intégrer les réponses dans le sujet de la discussion5 m 13 s
-
(Verrouillé)
-
-
-
-