0
我通過關聯has_many有問題。rails has_many:通過關聯不起作用
我有有許多辦公室和酒店 account.rb帳戶模式:
class Account < ActiveRecord::Base
# associations
has_many :partnerships, through: :hotels, dependent: :destroy
has_many :partnerships, through: :offices, dependent: :destroy
has_many :users, through: :hotels, dependent: :destroy
has_many :hotels, dependent: :destroy
has_many :offices, dependent: :destroy
belongs_to :admin, class_name: "User", foreign_key: "admin_user_id", dependent: :destroy
然後我有一個合作伙伴關係表,是酒店和辦公室之間的連接表 因此,不論酒店及辦公室有很多合作伙伴:
class Hotel < ActiveRecord::Base
has_many :partnerships
belongs_to :account
has_and_belongs_to_many :user
class Office < ActiveRecord::Base
belongs_to :account
has_and_belongs_to_many :users
has_many :partnerships
,最後我的合作模式:
class Partnership < ActiveRecord::Base
belongs_to :hotel
belongs_to :office
然而,當我測試帳戶與夥伴關係與酒店有夥伴關係的帳戶(@account.partnerships
)之間的關聯時,我得到一個空白的[],而當我直接使用相關酒店時(@hotel.partnerships
),我得到相關列表合作伙伴關係。
你能告訴我,爲什麼這些協會不工作:
has_many :partnerships, through: :hotels, dependent: :destroy
has_many :partnerships, through: :offices, dependent: :destroy