首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >生成具有ActiveRecord关联的模型

生成具有ActiveRecord关联的模型
EN

Stack Overflow用户
提问于 2013-02-19 21:54:58
回答 3查看 26.5K关注 0票数 16

各位朋友:

我正在创建一个应用程序,其中在我的问题空间中有两个实体。一个实体是“生物学家”,另一个实体是“实验”。现在一个生物学家可以有多个实验,每个实验可以有多个生物学家。

我知道如何使用命令行生成器创建模型和路由:

代码语言:javascript
复制
 rails generate scaffold Biologist name:string expertise:string last_pub:text

添加关联的正确方法是什么?是否要在生成后更新模型代码?对我来说不清楚的是,如果我在生成后添加一个"belongs_to“关联,在不运行迁移或其他东西的情况下,它在DB模式中的反映如何?在上面的例子中,如果“实验”属于“生物学家”,那么在“生物学家”表中将有一个外键,如果我在模型类post生成中添加关联,将如何创建外键。我是rails的新手,所以如果这是一个幼稚的问题,我很抱歉。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-02-19 22:28:19

您必须创建一个迁移,将biologist_id列添加到experiments表中,然后在experiments模型中添加belongs_to :biologist关系。

您可以在here上找到更多详细信息。

票数 4
EN

Stack Overflow用户

发布于 2013-02-19 22:34:47

我认为您正在寻找类似如下的内容:

代码语言:javascript
复制
rails g scaffold Biologist experiment:references

阅读Jose Valim的this article,他向您展示了如何执行上述操作,并从命令行添加db索引:

票数 51
EN

Stack Overflow用户

发布于 2013-02-20 04:53:15

我会为每个人生成一个模型,然后创建一个连接表,因为你有一个多对多的关系。如果您正确地遵循约定,rails应该能够理解给定的连接表的关系。

通常,如果需要修改活动记录关系,则应在模型中使用has_many或has_and_belongs_to_many关系进行修改。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14959239

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档