Rails从现有表生成模型?

Bri*_*asa 3 ruby-on-rails

我是rails框架的新手,想知道如何基于现有表生成模型.例如,我有一个名为person的表,并希望根据该表中的列生成模型.但是,每当我使用"ruby脚本/生成模型Person --skip-migration时,它会创建一个名为people的空表并在此之后创建模型.有没有办法在名为person的表之后生成模型?

谢谢.

jmc*_*vin 15

Rails很自以为是,所以如果你有一个名为"person"的表,并且你希望相应的模型被称为Person,你需要明确告诉Rails不要这么聪明(否则,它会假设它需要寻找表名的多个模型名称).

class Person < ActiveRecord::Base
  set_table_name 'person'
end
Run Code Online (Sandbox Code Playgroud)

如果你的表的主键没有被称为"id",那么你也需要指定它...

set_primary_key 'person_id'
Run Code Online (Sandbox Code Playgroud)

您可能还需要指定不同的自动增量序列名称,具体取决于您的数据库.

我不知道如何从现有的遗留表中自动生成模型,但这应该可以帮助您完成大部分工作.

  • @Jason使用`self.set_table_name'person'为rails 4 (2认同)