我创建了一个表,现在我想在表中添加一个关联(has_many关系)。如果我已经创建了一个表并且在创建模型后完成了rake db:migrate,那该怎么办呢?
是否可以在ror中创建表后添加关联(has_many关系)?
答案 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
关联的模型的名称。