2012-08-10 66 views
0

我目前有一些模型:User,Dealer,Sale和Role。角色與經銷商和銷售以及belongs_to用戶具有多態的belongs_to關係(請參閱下面的代碼)。Rails - 爲多態關聯中的父項指定has_many

我的查詢是這樣的:我怎麼能指定一個has_many :dealers, :through => :roles關係經銷商和銷售用戶?用戶模型將與之關聯的角色模型屬於經銷商或銷售,因此此格式的關係不起作用。

class User < ActiveRecord::Base 
    has_many :roles 
    has_many :sales, :through => :roles 
    has_many :appraisals, :through => :roles 
    has_many :dealers, :through => :roles 
end 

class Dealer < ActiveRecord::Base 
    has_many :roles, :as => :role_originator 
    has_many :users, :through => :roles 
end 

class Sale < ActiveRecord::Base 
    has_many :roles, :as => :role_originator 
    has_many :users, :through => :roles 
end 

class Role < ActiveRecord::Base 
    belongs_to :role_type 
    belongs_to :user 
    belongs_to :role_originator, :polymorphic => true 
end 

希望在這裏得到任何幫助。

回答