Ajout de colonne dans Ruby On Rails

Fermé
zzzer Messages postés 907 Date d'inscription dimanche 25 mai 2008 Statut Membre Dernière intervention 3 décembre 2023 - 3 juil. 2008 à 17:03
 madmax - 3 sept. 2008 à 20:08
Bonjour à tous,


Je dois utiliser Ruby on Rails pour le boulot depuis peu et j'ai un souci :

Lorsque que je crée un nouveau scaffold puis controller (script/generate scaffold personne nom:string prenom:string puis script/generate controller personne), pas de souci, j'ai un accès correct aux pages index, new et edit dans le sens où il m'affiche correctement le nom et le prénom.

Le problème est lorsque je veux ajouter un nouveau champ à la table (script/generate migration add_age_to_personne age:integer) puis rake db:migrate

En effet, je ne peux pas voir ni modifier le nouveau champ : tout est comme s'il n'y avait que le nom et le prénom dans la table. De même, lorsque que je veux rentrer une nouvelle personne, la zone de texte age n'est pas affichée.

Ceci dit, je vois bien que le champ a bien été ajouté dans la base de données...


Quelqu'un pour m'aider ?

Merci d'avance ;)

2 réponses

Oui j ai exactement le meme probleme, si tu trouves la solution, je suis interesse.
0
zzzer Messages postés 907 Date d'inscription dimanche 25 mai 2008 Statut Membre Dernière intervention 3 décembre 2023 181
3 sept. 2008 à 18:22
Il faut en fait regénérer un scaffold avec le nouveau champ avant de générer une migration :

Au début :
script/generate scaffold truc nom:string prenom:string
rake db:migrate
Puis pour ajouter le champ :
script/generate scaffold truc nom:string prenom:string age:integer
script/generate migration add_age_to_truc age:integer
rake db:migrate
En espérant que ça t'aide...

-1
Merci bien pour ta réponse, finalement j ai supprimé les fichiers controllers views models et ce qui était dans routes.rb puis rake db:migrate VERSION=xxxx pour une retour en arrière.

Merci quand même et je vais essayer ta solution pour voir...
0