2010-03-18 69 views
18

我在开发早期犯了一个错误,并命名我的复数名词(Users而不是User)的模型之一。有没有简单的方法来重命名它和相应的控制器(类似于生成script/generate方式)?如何重命名模型

回答

6

更新:此脚本不支持了

的脚本存在,将做的工作适合你:

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

+1

好!不是我经常需要的东西,但很高兴知道它在那里。 – stephenmurdoch 2010-03-18 13:02:47

+0

我正在为其中一个添加书签,因为这是一个PAIN来撤销它们。大多数时候我只是在回复和再生。 – wesgarrison 2010-03-20 01:19:22

+2

是否有可能在轨道3上使用它? – mirelon 2012-12-17 14:52:46

4

您必须手动更改所有应用程序中对Users的所有引用。

要单独更改名称,它不是很难:重命名文件,并添加以下迁移:

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

表名应该是复数,因此“用户”被精细。 – kouak 2010-03-18 11:22:42

+0

对!但在他的模型中,表格可能不是用户名,所以他必须将其重命名为 – 2010-03-18 13:03:56

4

您需要重命名你的文件,你的测试/规格文件和所有参考这一模式。

您还需要进行迁移以重命名该表。