rails2

 

question test Rails2

Page history last edited by Jean 11 mos ago

Question de l'examen de Rails2:

 

 

Comments (3)

profile picture

Jean said

at 5:22 pm on Aug 5, 2008

1) rails -d mysql club2


3) création des 3 tables "dude" "jogging" "sport" (création virutelle pas définitive):
(ici on a mis les scaffold qui permet de créer le CRUD create read update delete)

ruby ./script/generate scaffold dude nom:string date_de_naissance:date

ruby ./script/generate scaffold jogging date:date distance:decimal endroit:string

ruby ./script/generate scaffold sport nom:string

4) il faut mettre le password d'accès Mysql dans le fichier "config/database.yml"

development:

adapter: mysql

encoding: utf8

database: club2_development
username: root

password: mysql <<<<<----------
host: localhost

profile picture

Jean said

at 5:27 pm on Aug 5, 2008

5) faire les liens 1-N et 1-1 etc...

Aller dans le répertoire:

"app/models"

et modifier:

class Sport < ActiveRecord::Base

has_and_belongs_to_many :dudes

end

class Jogging < ActiveRecord::Base

belongs_to :dude

end


class Dude < ActiveRecord::Base

has_and_belongs_to_many :sports

has_many :joggings

end

******************************

Aller dans le répertoire:
"db/migrate"

et modifier:
(on rajoute la clef étangère qui pointe vers la table "dude"
ici la clef à le nom "dude_id"

class CreateJoggings < ActiveRecord::Migration

def self.up

create_table :joggings do |t|

t.integer :dude_id

t.date :date

t.decimal :distance

t.string :endroit


t.timestamps

end


end



def self.down

drop_table :joggings

end


end

******************

(c'est ici que l'on crée la table intermédiaire)
(car relation 1-N avec 1-N donc double 1-N donnerune table intermédiaire)

class CreateSports < ActiveRecord::Migration

def self.up

create_table :sports do |t|

t.string :nom


t.timestamps

end



create_table :dudes_sports, :id => false do |t|

t.integer :dude_id

t.integer :sport_id

end




end



def self.down

drop_table :sports

drop_table :dudes_sports

end


end


*******************************

profile picture

Jean said

at 5:28 pm on Aug 5, 2008

6) créer physiquement la Base de donnée avec les tables

efface les 3 Bases de Données (si elles étaient déjà créées)
rake db:drop:all

cette commande crée toutes les 3 Base de donnée (vide sans tables)
(club2_development, club2_production, club2_test)
rake db:create:all

cette commande va créer les tables de la Base de Donnée en vrai
rake db:migrate

******************

7) démarrer le serveur pour tester en réel le site
ruby ./script/server

8) dans Firefox écrire:
http://localhost:3000/

You don't have permission to comment on this page.