我有 3 个模型:
sophead
od
od_item
索普黑德有许多OD和OD有很多od_items。
每个od_item属于一个 OD,每个 OD 属于一个 SOPHEAD
我希望能够像这样返回特定 sophead 的所有od_items:
all_od_items_for_first_sophead = Sophead.first.od_items
获得 SOPHEAD 的所有od_item的正确关联是什么?
我试过:
has_many :od_items, through: :ods
但我相信这是不正确的,因为它与这张图并不真正匹配 - 在该图的示例中(具有不同的模型名称(,从患者到约会的箭头将朝另一个方向运行。
提前致谢
你的尝试是正确的方法。您的模型必须具有如下关联:
models/sophead.rb
class Sophead < ApplicationRecord
has_many :ods
has_many :od_items, through: :ods
end
型号/OD.rb
class Od < ApplicationRecord
belongs_to :sophead
has_many :od_items
end
型号/od_item.rb
class OdItem < ApplicationRecord
belongs_to :od
end