我目前有一些型号:用户,经销商,销售和角色。 Role与Dealer和Sale有一个多态的belongs_to关系,并且belongs_to User(见下面的代码)。
我的查询是这样的:如何在经销商和销售用户上指定has_many :dealers, :through => :roles
关系?用户模型将通过belongs_to 经销商或销售进行关联的角色模型,因此此格式的关系不起作用。
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
非常感谢这里的任何帮助。
答案 0 :(得分:0)
在我发现:source选项后,我能够解决这个问题 - 请参阅http://guides.rubyonrails.org/association_basics.html#has_many-association-reference(第4.3.2.20部分)。