2010-03-18 17 views
18

J'ai fait une erreur au début du développement, et nommé l'un de mes modèles au nom pluriel (Users au lieu de User). Y at-il un moyen facile de le renommer et le contrôleur correspondant (similaire à la générer avec script/generate façon)?Comment renommer le modèle

Répondre

6

mise à jour: ce script est plus supporté

Un script existe qui fera le travail pour vous:

http://github.com/hiroshi/script-refactor

+1

sympa! ce n'est pas quelque chose dont j'ai souvent besoin, mais bon à savoir, c'est là-bas. – stephenmurdoch

+0

Je suis bookmarking celui-là, parce que c'est une DOULEUR pour les annuler. La plupart du temps, je viens de revenir et de me régénérer. – wesgarrison

+2

Est-il possible de l'utiliser avec les rails 3? – mirelon

4

Vous devrez modifier toutes les références à Users dans toutes vos applications manuellement.

Pour changer le nom par lui-même, ce n'est pas très difficile: renommer le fichier et ajoutez la migration suivante:

class RenameUsers < ActiveRecord::Migration 
    def self.up 
     rename_table :users, :user 
    end 
    def self.down 
     rename_table :user, :users 
    end 
end 
+0

Nom de la table doit être au pluriel, donc "utilisateurs" est bien. – kouak

+0

Droit! Mais dans son modèle, la table n'est probablement pas nommée utilisateurs donc il faudra la renommer –

4

Vous devez renommer votre fichier, votre test/fichier de spécifications et toute référence à ce modèle .

Vous devez également effectuer une migration pour renommer la table.