Ruby on Rails 1.2.2, premier contact
Par NiKo le samedi 3 mars 2007, 12:00 - Ruby - Lien permanent
Je dois préparer une réunion technique sur Ruby on Rails, aussi je m'y remets doucement. J'en profite donc pour passer en revue la version 1.2.2 du framework par le biais d'un petit tutoriel. Je prends pour exemple la gestion d'un carnet d'adresses simplissime.
Installation sur Ubuntu
L'installation de rails sur Ubuntu est toujours aussi simple.
Création de l'application
Vos pouvez créer votre projet rails n'importe où sur votre disque dur, par exemple dans ~/rails :
$ cd ~ && mkdir rails $ rails contacts
Le squelette de l'application contacts est créé sous la forme d'un répertoire contenant l'arborescence par défaut d'un projet vierge.
$ cd contacts
Pour tester votre projet vierge, vous pouvez lancer Webrick, un petit serveur HTTP écrit en ruby inclus dans les librairies du framework :
$ script/server
Faites pointer votre navigateur à l'adresse http://0.0.0.0:3000/ pour admirer la page par défaut du projet.

Configuration de l'accès aux données
Dans le fichier config/databases.yml, on définit nos paramètres de connexion au SGBD, ici MySQL :
development: adapter: mysql database: contacts_development username: root password: password host: localhost socket: /var/run/mysqld/mysqld.sock
N'oubliez pas de créer une base MySQL contacts_development, hein 
Création d'une table dans la base données
On va utiliser le système de migration propre à rails pour garantir une évolutivité de notre modèle de données :
$ ruby script/generate migration contacts_development
On édite le fichier généré dans db/migrate/001_contacts_development.rb :
class ContactsDevelopment < ActiveRecord::Migration def self.up create_table "contacts" do |t| t.column "name", :string t.column "email", :string t.column "address", :string t.column "city", :string t.column "zip", :string t.column "country", :string end end def self.down drop_table :contacts end end
On lance la migration, ce qui pour l'heure aura pour conséquence et pour l'heure de créer notre table contacts dans la base de données :
$ rake db:migrate
Création d'un jeu de données
Nous allons créer quelques fixtures pour peupler notre table et avoir quelque chose à se mettre sous la dent. Pour cela, on crée (ou modifie) un fichier test/fixtures/contacts.yml contenant les deux entrées :
John: name: John Doe email: john@doe.com address: 12, rue des champs zip: 75009 city: Paris country: France Bob: name: Bob Doe email: bob@doe.com address: 1, place du pré zip: 35000 city: Rennes country: France
On insère les données dans la base :
$ rake db:fixtures:load
Ces données permettront par la suite de tester plus facilement l'application.
Scaffolding
On crée un module basique de gestion de nos contacts :
$ ruby script/generate scaffold Contact
Faites pointer votre navigateur sur http://0.0.0.0:3000/contacts pour tester les scripts générés automatiquement.

Ce n'est effectivement pas très beau, vous avez raison, mais c'est déjà fonctionnel... et surtout, cela ne nous a pas pris plus de 5 minutes !
À suivre
On ne s'arrêtera pas en si bon chemin, le prochain volet de ce tutoriel fera notamment évoluer notre schéma de base de données... stay tuned !



















Commentaires
1. Le samedi 3 mars 2007, 13:28 par giz404
2. Le samedi 3 mars 2007, 14:10 par Frédéric de Villamil
3. Le samedi 3 mars 2007, 14:12 par NiKo
4. Le samedi 3 mars 2007, 14:36 par Jawad
5. Le samedi 3 mars 2007, 14:39 par NiKo
6. Le samedi 3 mars 2007, 16:06 par COil
7. Le samedi 3 mars 2007, 16:14 par NiKo
8. Le samedi 3 mars 2007, 19:33 par NiCoS
9. Le samedi 3 mars 2007, 20:06 par NiKo
10. Le samedi 3 mars 2007, 20:50 par NiCoS
11. Le samedi 3 mars 2007, 22:10 par Christophe