Active Record是否具有has_and_belongs_to_one关联?

时间:2016-03-15 00:08:23

标签: ruby-on-rails activerecord

我有一个Staff表和一个Store表,但每个商店最多只有一个经理,每个员工最多可以管理一个商店。

避免4NF中的multivalued dependency。我想创建一个StoreManager表,而不是另一个StoreStaffs表,它存储有关员工及其工作的商店的信息。

尽管如此,StoreStaff通过StoreManager表格具有一对一关系。

虽然Rails有has_and_belongs_to_many关联,但就我而言,它不适用,但需要has_and_belongs_to_one

在Rails的Active Record中是否存在类似于has_and_belongs_to_one的可能关系?

1 个答案:

答案 0 :(得分:1)

您可以使用has_onehas_one :through

以下是一些伪代码:

class Store < ActiveRecord::Base
  has_one :store_manager
  has_one :staff, through: :store_manager
end

class StoreManager < ActiveRecord::Base
  belongs_to :store
end

class Staff < ActiveRecord::Base

end

有关详细信息,请参阅ActiveRecord::Associations#has_one