2010-03-18 27 views
18

Cometí un error al principio del desarrollo, y nombré a uno de mis modelos con sustantivo plural (Users en lugar de User). ¿Hay alguna manera fácil de cambiar el nombre y el controlador correspondiente (similar a generarlo con script/generate modo)?Cómo cambiar el nombre del modelo

Respuesta

6

actualización: este script no se admite más

Existe un script que va a hacer el trabajo para usted:

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

+1

¡agradable! No es algo que pueda necesitar a menudo, pero es bueno saber que está ahí afuera. – stephenmurdoch

+0

Estoy marcando ese, porque es un DOLOR deshacerlos. La mayoría de las veces solo gimo revertir y regenerarme. – wesgarrison

+2

¿Es posible usarlo con rieles 3? – mirelon

4

Deberá cambiar todas las referencias al Users en todas sus aplicaciones manualmente.

Para cambiar el nombre por sí mismo, no es muy difícil: cambiar el nombre del archivo y agregue la siguiente migración:

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

Nombre de la tabla debe ser plural, por lo tanto, "usuarios" se multa. – kouak

+0

¡Correcto! Pero en su modelo, la tabla probablemente no se llame usuarios, así que tendrá que cambiarle el nombre –

4

Es necesario cambiar el nombre del archivo, el archivo de prueba/especificaciones y toda referencia a este modelo .

También debe realizar una migración para cambiar el nombre de la tabla.

Cuestiones relacionadas