I think this is a Rails bug, but I''d like to describe it here first - in case I''m doing something wrong. When using an n-way (has_many :through) join, the wrong model attr is selected when evaluating the join relationship. Consider the following models. User, Group, Customer represent a standard HMT relationship. User, Group, Build (UGB) is an n-way style join - where the relationship between Users and Builds is possible since Builds belong to Customers who are joined to Users. Note the additional attributes to the HMT in the Build model (ie, :foreign_key & :primary_key). @@@ class User < ActiveRecord::Base has_many :groups has_many :customers, :through => :groups end class Group < ActiveRecord::Base belongs_to :user belongs_to :customer end class Customer < ActiveRecord::Base has_many :builds has_many :groups has_many :members, :through => :groups, :source => :user end class Build < ActiveRecord::Base belongs_to :customer has_many :groups, :foreign_key => :customer_id, :primary_key => :customer_id has_many :accessors, :through => :groups, :source => :user end @@@ The problem is that the @build.accessors results in an empty [] - because the SQL is using the @build.id rather than @build.customer_id. See related SQL listings... @@@ User Load (2.6ms) SELECT * FROM "users" WHERE ("users"."login" E''hp_person'') LIMIT 1 Customer Load (2.5ms) SELECT "customers".* FROM "customers" INNER JOIN groups ON customers.id = groups.customer_id WHERE (("groups".user_id = 1046015453)) LIMIT 1 Build Load (2.4ms) SELECT * FROM "builds" WHERE ("builds".customer_id = 807266524) User Exists (11.5ms) SELECT "users".id FROM "users" INNER JOIN groups ON users.id = groups.user_id WHERE ("users"."id" = 1046015453) AND (("groups".customer_id = 192574979)) LIMIT 1 @@@ @@@ builds table: :id => 192574979; :customer_id => 807266524; @@@ --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---