alexpchin/Rails_Generating_and_Scaffolding.md

L’utilisation par Rails de conventions de nommage strictes signifie que beaucoup de code de base DEVRAIT être dans le même format quel que soit celui qui l’écrit ? Il pourrait être écrit par un ami, un collègue ou un ordinateur… cela ne devrait pas avoir d’importance car les mêmes règles Rails s’appliquent à tout le monde.

Cela signifie que Rails peut réellement faire certaines tâches pour vous !Il peut réellement construire des choses et écrire du code en votre nom….

Venant d’un autre langage comme le PHP, cela peut sembler magique.

Référence rapide:

rails g scaffold Post name:string title:string content:textrails g controller Commentsrails g model Comment commenter:string body:text article:references

##Rails generatorLa commande rails generate utilise des modèles conçus par convention pour créer tout un tas de choses utiles. Exécuter rails generate par lui-même donne une liste des générateurs disponibles:

rails generate

ou pour les super-hackers:

rails g

Il y a beaucoup de générateurs:

Rails :

  • assets
  • contrôleur
  • générateur
  • helper
  • integration_test
  • mailer
  • migration
  • model
  • .

  • observer
  • test_de_performance
  • ressource
  • scaffold
  • scaffold_controller
  • session_migration
  • task

Café :

  • coffee:assets

Jquery:

  • jquery:install

Js:

  • js :assets

##Scaffolding in Rails

L’outil de scaffolding de Rails est un moyen rapide de générer certains des principaux morceaux de code dans une application. Cela permet de gagner beaucoup de temps lorsque vous voulez être opérationnel rapidement ! (C’est super cool !)

Selon ce que vous voulez créer, le scaffolding peut générer automatiquement tout ou une combinaison de :

migrationsmodelsviewscontrollersunit_tests helpersstylesheetsjavascript

Il pourrait y avoir quelques fichiers supplémentaires qu’il fait…. Je ne suis pas sûr que ce soit une liste complète !

##Scaffolding d’une ressource entière

Vous scaffolding les choses associées à un objet (singulier)

Si vous voulez scaffold une application, vous devez scaffold chaque ressource dans cette application. Si vous voulez faire une application de blog par exemple – vous pourriez échafauder toute la ressource Post:

rails g scaffold Post

Le nom de la ressource Post doit être:

  • UpperCamelCase
  • SINGULAR

Ce nom va être le nom du modèle, par exemple Post. Il va également être le nom de la classe du contrôleur (mais au pluriel), par exemple PostsController ET le nom de la table (mais au pluriel), par exemple posts

Après le nom de la classe, vous pouvez ajouter les colonnes de la table et leurs types de données.

rails g scaffold Post name:string title:string content:text

Ces noms de colonnes de table devraient être:

  • lower_snake_case
  • SINGULAR

C’est parce que chaque élément Post est censé avoir une valeur stockée dans chaque colonne.

Si vous exécutez ce scaffold, il créera tous ces fichiers :

Dans le PostController, toutes les méthodes RESTful seront créées et elles auront toutes leurs fichiers de vue correspondants.

Après avoir créé le fichier de migration, afin d’effectuer la modification de la base de données n’oubliez pas d’exécuter:

rake db:migrate

##Générer juste un contrôleur

Il contrôle beaucoup d’objets (donc c’est au pluriel)

Parfois, vous voulez générer juste un contrôleur.

rails g controller Comments

Le nom du contrôleur doit être :

  • UpperCamelCase
  • PLURALIZED

C’est parce qu’un contrôleur traite beaucoup d’exemples d’un objet, il doit donc être au pluriel.

Cela va créer ces fichiers :

Cela ne va PAS créer un fichier de migration ou un fichier de modèle.

##Générer juste un modèle

Vous générez le contour d’un objet (singulier)

Si vous voulez juste créer un modèle, vous pouvez faire :

rails g model Comment
  • UpperCamelCase
  • SINGULAR

Vous pouvez aussi y ajouter les noms des colonnes si vous le souhaitez :

rails g model Comment commenter:string body:text article:references

Ces noms de colonnes de table devraient être:

  • Casse_snake inférieure
  • SINGULAIRE

La génération d’un modèle créera ces fichiers:

.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.