1

以下のような関係があります。

companies_employee.rb
belongs_to :employee
belongs_to :company
validates_presence_of :role

employee.rb
has_many :companies_employees
has_many :companies, :through => :companies_employees

company.rb
has_many :companies_employees
has_many :managers, :through => :companies_employees, :source => :employee, conditions => {:role => "Manager"}
has_many :owners, :through => :companies_employees, :source => :employee, :conditions => {:role => "Owner"}

私の問題は、条件をチェックするときに、従業員テーブルでロール列を見つけようとするが、ロール列がcompanys_employeesテーブルにあることです。条件にこの表のものを使用する方法はありますか?

4

1 に答える 1

2

次のようなものを試してください。

has_many :managers, :through => :companies_employees, :source => :employee, conditions => ["employees.role = 'Manager"]
has_many :owners, :through => :companies_employees, :source => :employee, conditions => ["employees.role = 'Owner"]
于 2012-06-14T19:09:53.800 に答える