2010-09-20 50 views
2

我一直在構建一個應用程序,最近有一個模型書是一個數據庫表,並鏈接到幾個模型/控制器。我最近了解到,不是書籍,它需要被稱爲出版物(只是一個例子)...任何簡單的方法來更改模型的名稱?

我現在想要更新整個應用程序的數據庫和所有提及。有沒有一種簡單的方法在Rails 3中做到這一點。或者我必須遷移該特定的表(通過版本?)並手動更新整個應用程序中的所有引用?

感謝

+0

你如何做到這一點w/o集表名hack? – AnApprentice 2010-09-20 23:45:09

回答

1

編輯

您可以繼續使用相同的模型,從而保持整個應用程序的引用。只是,由於您的新數據庫模式,您必須爲特定模型設置表名稱。您也可以使用alias_attribute方法,以便您可以繼續引用舊的屬性名稱,即使您更改了列名稱例如:

class Book < ActiveRecord::Base 
    set_table_name 'publications' 
    set_primary_key 'id' 
    alias_attribute :id,:publication_id 
end 
+0

謝謝。這是一件很好的事情要知道。鑑於我的應用程序只有幾個星期,我沒有任何真實的數據,我寧願不猴子修補它。所以我想這將是100%的手動! – AnApprentice 2010-09-20 18:58:24

0

不,沒有辦法自動重命名模型。

我的建議是簡單地刪除模型並用新名稱重新創建它,因爲通常比重新創建時生成的所有文件更容易。但請確保您的遷移是正確的!

但是至於代碼,你必須這麼做。一些文本編輯器可以搜索/替換多個文件,這可能會很方便。

相關問題