2010-03-18 101 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

您需要重命名你的文件,你的測試/規格文件和所有參考這一模式。

您還需要進行遷移以重命名該表。