ruby-on-rails - Rails 模型关系 : Has one but also belongs to many

标签 ruby-on-rails model belongs-to relation has-one

我有两个模型,Modela 和 Modelb。

Modela 只能拥有一个 Modelb,但 Modelb 可以是多个 Modela 的一部分。

我现在拥有的是

class Modela < ActiveRecord::Base
  has_one :modelb
end

class Modelb < ActiveRecord::Base
  belongs_to :modela, :foreign_key => "modela_id" #might not make sense?
end

不太确定我在那里做的整个 :foreign_key 事情,但它就是我停止时的位置。由于我试图允许 Modelb 成为许多 Modela 的一部分,因此我不想将 modela_id 字段添加到 Modelb 表中。

最好的方法是什么?

最佳答案

应该是:

class Modela
  belongs_to :modelb
end

class Modelb
  has_many :modela
end

modelas 表应包含 modelb_id 列。

关于ruby-on-rails - Rails 模型关系 : Has one but also belongs to many,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2633189/

相关文章:

ruby-on-rails - 如何避免阴影应用于 Gmaps4rails 中的 rich_marker

ruby-on-rails - 我怎样才能写更多 "ruby-ish"?

Laravel5 : refresh method for eloquent models?

laravel - 如何在 Laravel 中使用 Faker 填充嵌套类别表?

ruby-on-rails - 为什么我的 user_id 为零?

hibernate - 在Grails中用hastoTo映射hasOne

ruby-on-rails - Ubuntu 上的 RoR 应用程序和带有乘客的 nginx

Jquery Datepicker Rails 3 日期格式问题

javascript - 如何在 Node 书架模型中定义列名称?

ruby-on-rails - Rails 属于多种模型