Another thought is improving the message returned from the exception to give a better hint as to why the error is occuring.
On 3/22/06, Andrew Kaspick <[EMAIL PROTECTED]> wrote: > Alright, what you suggested works pefectly. > > As you said, I found this confusing. I had things working fine in my > first case and then decided to do my rename in the join table and then > things stopped working. Of course my first thoughts are to look for > the problem in the join table where I made the change. > > I'm sure if you made one of the changes suggested, that would save > others from the same headache. Documentation works, but sometimes the > really fine details of it can be glossed over unfortunately and I > would have to think that removing the confusion via your source > suggestion would be a nicer option. > > On 3/22/06, Mark James <[EMAIL PROTECTED]> wrote: > > Andrew Kaspick wrote: > > > > > Now if I change the name of my association from user to player... > > > > > > class PlayerStatistic < ActiveRecord::Base > > > belongs_to :game > > > belongs_to :player, :class_name => 'User' # <-- this line different > > > end > > > > > > # still the same code as above > > > class Game < ActiveRecord::Base > > > has_many :statistics, :class_name => 'PlayerStatistic' > > > has_many :players, :through => :statistics, > > > :class_name => 'User' > > > end > > > > > > I can do.. > > > g = Game.find(:first) > > > g.statistics > > > g.statistics[0].player # player now instead of user works > > > > > > but no longer can call.. > > > g.players > > > > > > This fails with a > > > ActiveRecord::HasManyThroughSourceAssociationNotFoundError exception. > > > > > > Is this a bug or am I simply missing something here? > > > > Andrew, for this example you should leave the class_name option > > off the through association declaration. The class_name option > > for through assocations is really a source_association_name option. > > The correct class of the associated objects is picked up from the > > class of the source belongs_to association. > > > > This will definitely confuse a lot of people unless either > > the special use of class_name is documented, or the class_name > > option is made invalid on through associations and replaced with > > a source_association_name option. > > > > Mark > > _______________________________________________ > > Rails-core mailing list > > Rails-core@lists.rubyonrails.org > > http://lists.rubyonrails.org/mailman/listinfo/rails-core > > > _______________________________________________ Rails-core mailing list Rails-core@lists.rubyonrails.org http://lists.rubyonrails.org/mailman/listinfo/rails-core