0
has_manyという関連付けに問題があります。rails has_many:through association doesnt work
私は、多くのオフィスやホテル 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