0

私はこのコードを持っています:

class Company < ActiveRecord::Base
  has_many :users, :through => :company_users do 
    def regular
      where('regular_user = ?', true)
    end

    def employee
      where('regular_user = ?', false)
    end
  end

これを書く別の方法、またはこれが最も効率的な方法かどうかを知りたいです。ユーザーモデルのスコープを考えていました。何か案は?

4

1 に答える 1

6

regularandemployeeのスコープとしてUser次のように記述します。

class Company < ActiveRecord::Base
  has_many :users, :through => :company_users 
end

class User < ActiveRecord::Base
  scope :regular, where(:regular_user => true)
  scope :employee, where(:regular_user => false)
end
于 2012-05-18T19:08:19.603 に答える