2

私はRails 3.0を使用していますが、belong_to :through 関係をセットアップする適切な方法を見つけようとしています(これは不可能です)。次に例を示します。

class ParentCompany < ActiveRecord::Base
  has_many :subsidiaries
  has_many :employees, :through => :subsidiaries
end

class Subsidiary < ActiveRecord::Base
  belongs_to :parent_company
  has_many :employees
end

class Employee < ActiveRecord::Base
  belongs_to :subsidiary
  belongs_to :parent_company, :through :subsidiary # <-- I know this is invalid
end

私はそれを解決できることを知っています:

class Employee < ActiveRecord::Base
  def parent_company
    subsidiary.parent_company
  end
end

ただし、関連付けを介して上記のことができるかどうかを知りたいです。

4

1 に答える 1

1

delegate関連付けを使用せずにこれを達成するために使用できます

class Employee < ActiveRecord::Base
  belongs_to :subsidiary
  delegate :parent_company, to: :subsidiary
end
于 2014-06-28T05:22:19.867 に答える