我目前有一些模型:用户、经销商、销售和角色。Role 与 Dealer 和 Sale 以及 belongs_to User 具有多态的 belongs_to 关系(参见下面的代码)。
我的查询是这样的:如何指定has_many :dealers, :through => :roles
经销商和销售用户的关系?User 模型将通过belongs_to 关联到Dealer 或Sale 的角色模型,因此这种格式的关系不起作用。
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
将不胜感激这里的任何帮助。