2009-12-31 53 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