Forum: Ruby on Rails has_many :through relationship in polymorphic associations

Announcement (2017-05-07): is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see and for other Rails- und Ruby-related community platforms.
Cc6ae9862e93740637dbbea00b680616?d=identicon&s=25 Preethi Sivakumar (preethi)
on 2009-02-27 13:44
I'm facing an issue in polymorphic associations when i try to to
:through relationship.
I've three models:profile,gbluser,community

  belongs_to :node ,:polymorphic => true
  belongs_to :community,:class_name => "community",
                        :foreign_key => "node_id",
                        :conditions => "node_type = 'community'"
  belongs_to :gblorganization,:class_name => "gblorganization",
                        :foreign_key => "node_id",
                        :conditions => "node_type = 'gblorganization'"
  has_and_belongs_to_many :gblusers

has_many :communities,,:through=>:profiles,:conditions =>
"profiles.node_type = 'Community'",:source=>:community

has_many :gblusers ,:class_name
=>"gbluser",:through=>:profiles,:conditions => "profiles.node_type =

I'm trying to implement has_many :through relationship between community
and users.
user has_many communities through profiles and
communities has_many users through profiles

When i'm trying to do @user.communities, the search is made not on the
mapping table between user and profiles but on the profile table itself.
Rails is searching for user_id in profiles table but i've
has_and_belongs_to_many between profile and user.
How to solve this problem? Am I wrong somewhere. Please guide me.
This topic is locked and can not be replied to.