RoR #3 : Scaffolding avec ruby on rails

La notion d’échafaudage dans rails permet de créer un squelette de votre projet en créant automatiquement les objets que vous voulez à la mode MVC.

Tous les objets créés ont par défaut une page Web qui leur permet de faire les quatres opérations CRUD (Create, Read, Update, Delete).

 

On commence par créer un nouveau projet :

rails new projet && cd projet

 

On va d’abord créer une base de données.

Par défaut le SGBD est SQLite, une base de données embarquée, très légère. Sinon, il y a toujours la possibilité d’utiliser MySQL. Le fichier à éditer est votreprojet/

Configuration de SQLite :

development:
adapter: sqlite3
database: db/votrefichier.sqlite3
pool: 5
timeout: 5000

Ou bien configuration de MySQL :

development:
adapter: mysql2
database: projet
encoding: utf8
username: root
password: xxxxxx
host: 127.0.0.1

On vérifie que tous les logiciels nécessaires sont là, puis on crée la base de données :

bundle install
rake db:create

 

Ensuite on monte l’échafaudage :

Par exemple pour créer un objet contact :

rails generate scaffold contact nom:string prenom:string telephone:integer

 

L’échafaudage se compose de tout ça :

  • Préparation de l’objet pour le créer en BDD : db/migrate/date_create_nomobjet.rb
  • Création du modèle, du contrôleur, des vues : app/models/nomobjet.rb, app/controllers/_nomobjet__controlle.rb, app/models/nomobjet.rb, app/views/nomobjet/*.html.erb
  • Création des tests unitaires : test/unit/_nomobjet__test.rb, test/fixtures/nomobjet.yml, test/functional/nomobjet_controller_test.rb
  • Création des ajouts javascripts et Css : app/assets/javascripts/* et app/assets/stylesheets/*
  • Création de la route pour accéder à l’objet par Get.

 

Il ne reste qu’à appliquer ce nouvel objet en base de données :

rake db:migrate

 

Du coup, quand on démarre le serveur rails :

rails server

 

On trouve l’objet prêt à fonctionner dans http://localhost:3000/_nomobjet_

Magie !

 

Sur le même sujet :

  • Rien sur le même sujet