我对rails框架非常陌生,想知道如何基于现有表生成模型。例如,我有一个名为person的表,并希望根据该表中的列生成模型。但是,每当我使用“ruby脚本/生成模型Person --skip-migration时,它会创建一个名为people的空表并在此之后创建模型。有没有办法在名为person的表之后生成模型?
感谢。
答案 0 :(得分:15)
Rails很自以为是,所以如果你有一个名为“person”的表,并且你希望相应的模型被称为Person,你需要告诉Rails明确不要那么聪明(否则,它会假设它需要查找表名的复数型号名称。
class Person < ActiveRecord::Base
set_table_name 'person'
end
如果您的表的主键未被称为“id”,那么您还需要指定它...
set_primary_key 'person_id'
您可能还需要指定不同的自动增量序列名称,具体取决于您的数据库。
我不知道如何从现有的遗留表中自动生成模型,但这应该可以帮助您完成大部分工作。