Forum: Rails France pas de champs affiché

Posted by Jean-christophe Jechco (jechco)
on 2007-12-20 11:48
Attachment: vue.JPG (29,7 KB)
bonjour,
je m'initie à RoR et quoi de mieux qu'un petit tuto de base :
http://ymarec.developpez.com/tutoriel/rails/initiation/

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!
Posted by Jean-François Trân (Guest)
on 2007-12-20 14:46
(Received via mailing list)
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.

> http://ymarec.developpez.com/tutoriel/rails/initiation/
>
> 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)

2. Tu regardes l'arbo qui vient d'être créée :

  cd annuaire
  ls -R

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

  rake --tasks

4. (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 ]

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

  vim config/database.yml

convenablement.

6. Tu crées ta base :

  rake db:create

7. Tu génères le scaffold :

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

8. 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

9. Tu passes la migration pour les collaborateurs :

  rake db:migrate

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

  script/console

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

11. É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

12. 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

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

  rake routes

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

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

  script/server

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

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

  script/about

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

19. 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 
)
Posted by Jean-christophe Jechco (jechco)
on 2007-12-21 13:43
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.
Posted by Guillaume Betous (Guest)
on 2007-12-21 17:01
(Received via mailing list)
> 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/
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.