Ajout de colonne dans Ruby On Rails

zzzer Messages postés 906 Date d'inscription   Statut Membre Dernière intervention   -  
 madmax -
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 ;)
A voir également:

2 réponses

madmax
 
Oui j ai exactement le meme probleme, si tu trouves la solution, je suis interesse.
0
zzzer Messages postés 906 Date d'inscription   Statut Membre Dernière intervention   181
 
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
madmax
 
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