Ror创建表关联

时间:2011-07-06 12:59:53

标签: mysql ruby-on-rails ruby

我创建了一个表,现在我想在表中添加一个关联(has_many关系)。如果我已经创建了一个表并且在创建模型后完成了rake db:migrate,那该怎么办呢?

是否可以在ror中创建表后添加关联(has_many关系)?

3 个答案:

答案 0 :(得分:0)

您可以使用迁移添加连接两个表的列。注意命名约定。

答案 1 :(得分:0)

如果MyModel has_many :foos,那么my_models表中实际上没有与该关系相关的列。相反,您需要使用Foo列创建my_model_id模型,或生成迁移以将该列添加到现有foos表。

也就是说,你想要运行:

rails generate model Foo <other fields> my_model_id:integer

rails generate migration add_my_model_id_to_foo my_model_id:integer

请注意,有关Rails 3的语法;在Rails 2下,您需要ruby script\generate ...

答案 2 :(得分:0)

是。在终端中,执行以下操作:

rails generate migration AddColumnToTableName column_id:integer

TableName替换为您需要添加列的表的名称,并将column替换为获得belong_to关联的模型的名称。