Pas de champs affiché

bonjour,
je m’initie à RoR et quoi de mieux qu’un petit tuto de base :

bref tout marche bien sauf que les champs liés aux champs de la table
mysql des formulaires ne s’affichent pas sur la page New. Qd je fais
create, pas de pb, ça crée mais ça n’incrémente que l’id (logique
puisque je peux rien remplir).'Comprends pas!

Jean-christophe Jechco :

je m’initie à RoR et quoi de mieux qu’un petit tuto de base :

un tuto qui ne soit pas trop vieux et donc pas trop obsolète ?

dans les grandes lignes, tu peux suivre, mais pas dans les
détails.

Initiation à Rails.

bref tout marche bien sauf que les champs liés aux champs de la
table mysql des formulaires ne s’affichent pas sur la page New.
Qd je fais create, pas de pb, ça crée mais ça n’incrémente que
l’id (logique puisque je peux rien remplir).'Comprends pas!

Reprenons depuis le début.

  1. Tu généres le squelette de ton application :

rails annuaire

(rails annuaire -d mysql si tu ne veut pas SQLite par défaut)

  1. Tu regardes l’arbo qui vient d’être créée :

cd annuaire
ls -R

  1. Tu vérifies les tâches Rake qui sont à ta disposition :

rake --tasks

  1. (facultatif) Tu peux éditer config/environment.rb pour enlever
    ActiveResource et ActionMailer
    dont tu n’as pas besoin pour le moment :

vim config/environment.rb

avec la ligne :

config.frameworks -= [ :active_resource, :action_mailer ]

  1. Tu édites le fichier config/database.yml (inutile si tu utilise SQLite)

vim config/database.yml

convenablement.

  1. Tu crées ta base :

rake db:create

  1. Tu génères le scaffold :

script/generate scaffold Collaborateur nom:string prenom:string
dateNaissance:date telephone:string mail:string --skip-timestamps

  1. Tu édites le fichier de migration :

vim db/migrate/001_create_collaborateurs.rb

tu obtiens du genre ça :

def self.up
create_table :collaborateurs do |t|
t.string :nom, :prenom, :null => false
t.date :dateNaissance, :default => nil, :null => true
t.string :telephone, :mail, :default => nil, :null => true
end
end

  1. Tu passes la migration pour les collaborateurs :

rake db:migrate

  1. Tu vérifies que ça marche en console :

script/console

tu fais joujou avec Collaborateur.find :all, Collaborateur.create …

  1. Éventuellement, tu n’es pas complètement satisfait avec le schema,
    tu modifies
    la migration db/migrate/001_create_collaborateurs.rb et tu repasses :

rake db:migrate:redo

  1. Au niveau des urls, tu vérifies qu’il y a bien une ligne avec
    map.resources :collaborateurs dans config/routes :

head config/routes.rb

  1. Tu vérifies que tout va bien au niveau des routes :

rake routes

  1. Tu supprimes public/index.html, tu rajoutes une route pour ‘/’
    (map.root)
    dans config/routes.rb.

  2. Tu as installé mongrel. Tu peux lancer script/server

script/server

  1. Tes vues à modifier sont par exemple
    app/views/collaborateurs/show.html.erb
    ou app/views/collaborateurs/edit.html.erb

  2. Un coup de script/about pour vérification.

script/about

  1. Tu évites d’être trop influencé par le tuto de départ parce qu’il y a des
    choses affreuses dedans.

  2. Tu viens te plaindre qu’il y a une erreur dans ce qui précède, sur la
    liste
    Railsfrance.

    – Jean-François.


Ruby ( http://www.rubyfrance.org ) on Rails ( http://www.railsfrance.org
)

doit on se
taper le listage à la main de tous ces champs avec leur type?

(je crois que l’exemple de ton banquet n’est pas bon, puisque on
ferait une relation 1-n, et en aucun cas 20 champs pour symboliser les
20 places)

dans le cas de 20 attributs… bin faudra bien se les cogner un jour
ou l’autre ! si tu les connais dès la création (bravo, on voit ceux
qui réfléchissent avant d’agir !) autant le faire.

pour ma part, je commence par les 3/4 évidents, puis ensuite je me
fais des migrations pour rajouter des champs, et je rajoute
éventuellement à la main dans les vues de l’echaffaudage. pas super
efficace, mais quand on réfléchit “au fur et à mesure”… c’est le
prix !

gUI


Pour la santé de votre ordinateur, préférez les logiciels libres.
Lire son mail : http://www.mozilla-europe.org/fr/products/thunderbird/
Browser le web : http://www.mozilla-europe.org/fr/products/firefox/
Suite bureautique : http://fr.openoffice.org/

merci,
on sent que tu maitrises les commandes unix mais j’en suis pas encore
là . J’ai résolu mon problème grace à :
script/generate scaffold Collaborateur nom:string prenom:string
dateNaissance:date telephone:string mail:string --skip-timestamps

mais je m’attends à d’autres mystères (c’est comme ça qu’on avance).Par
contre, en imaginant une table de banquet (+ de 20 champs), doit on se
taper le listage à la main de tous ces champs avec leur type?

–> 20. Je ne sens pas le besoin de passer par le point 19.