2009-12-31 88 views
3

我很新的Rails框架,並想知道如何基於現有的表的模型。例如,我有一個表命名人及希望基於從表中的列模型。然而,無論何時我使用「ruby腳本/生成模型Person --skip-migration」,它會創建一個名爲people的空表,然後創建模型。是否可以在名爲person的表後生成模型?Rails的生成從現有表型號?

謝謝

回答

15

Rails非常有見地,所以如果你有一個名爲「person」的表,並且你希望相應的模型被稱爲Person,那麼你需要明確告訴Rails不要那麼聰明(否則,它會認爲它需要查找表名稱的複數型號名稱)

class Person < ActiveRecord::Base 
    set_table_name 'person' 
end 

如果您的表的主鍵未被調用「ID」,那麼你就需要指定,太...

set_primary_key 'person_id' 

您可能還需要指定不同的自動遞增序列的名稱,這取決於您的數據庫。

有沒有一種方法,我知道的自動生成從現有的舊錶的模型,但是這應該讓你最的方式存在。

+0

這不會對Rails 4.0.0,難怪工作。 – Jason

+2

@Jason使用導軌4'self.set_table_name「person'' – rmagnum2002