1

嗨,我几乎是 RoR 的新手,这就是为什么我在过去三个小时左右的时间里一直坚持做一些如此基本的事情。

我关注了这个问题,这让我相信要添加一个关联,我必须:

  • 创建模型 ( rails generate model1)
  • 创建第二个模型 ( rails generate model2)
  • 然后编辑model1.rbandmodel2.rb文件,并分别在其中指定has_many :model2sand belongs_to :model1
  • 运行耙db:migrate

我认为这应该创建模型、它们各自在数据库中的表,以及模型 1 的模型 2 表中的引用。然而,这最后一部分还没有完成。

甚至指南也没有提到添加关联所需的确切步骤。入门指南告诉我只需在模型文件中添加关联,关联基础指南告诉我有关关联的信息。现在如何添加它们以便它们反映在数据库中。

谢谢!

4

2 回答 2

1

在您的数据库迁移文件中,您必须手动添加外键,除非您在生成这样的模型时指定model2了外键:model1_id:integer

rails generate model model2 model1_id:integer #Extra fields ...

看看这里的文档:http: //guides.rubyonrails.org/command_line.html#rails-generate

于 2012-08-10T11:19:41.900 回答
0

您需要采取以下步骤。如果您有两个模型 - 父母和孩子。

在父模型中,添加一个has_many关系。在子项中,添加belongs_to关系。

向子项添加一列以保存引用:

rails g migration add_parent_id_to_child parent_id:integer
于 2012-08-10T12:28:06.473 回答