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!
on 2007-12-20 11:48
on 2007-12-20 14:46
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 )
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.
on 2007-12-21 17:01
> 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
Log in with Google account | Log in with Yahoo account
No account? Register here.
