各位朋友:
我正在创建一个应用程序,其中在我的问题空间中有两个实体。一个实体是“生物学家”,另一个实体是“实验”。现在一个生物学家可以有多个实验,每个实验可以有多个生物学家。
我知道如何使用命令行生成器创建模型和路由:
rails generate scaffold Biologist name:string expertise:string last_pub:text添加关联的正确方法是什么?是否要在生成后更新模型代码?对我来说不清楚的是,如果我在生成后添加一个"belongs_to“关联,在不运行迁移或其他东西的情况下,它在DB模式中的反映如何?在上面的例子中,如果“实验”属于“生物学家”,那么在“生物学家”表中将有一个外键,如果我在模型类post生成中添加关联,将如何创建外键。我是rails的新手,所以如果这是一个幼稚的问题,我很抱歉。
发布于 2013-02-19 22:28:19
您必须创建一个迁移,将biologist_id列添加到experiments表中,然后在experiments模型中添加belongs_to :biologist关系。
您可以在here上找到更多详细信息。
发布于 2013-02-19 22:34:47
我认为您正在寻找类似如下的内容:
rails g scaffold Biologist experiment:references阅读Jose Valim的this article,他向您展示了如何执行上述操作,并从命令行添加db索引:
发布于 2013-02-20 04:53:15
我会为每个人生成一个模型,然后创建一个连接表,因为你有一个多对多的关系。如果您正确地遵循约定,rails应该能够理解给定的连接表的关系。
通常,如果需要修改活动记录关系,则应在模型中使用has_many或has_and_belongs_to_many关系进行修改。
https://stackoverflow.com/questions/14959239
复制相似问题