I just found this ticket because I noticed the same issue. http://dev.rubyonrails.org/ticket/6251
The official response was that it's not a bug because when you use :joins you are "riding close to the metal". But I'm at a loss as to figure out why this behavior even needs to exist. Every table (except HABTM links) in a typical Rails app is going to have an id column, so that means any JOIN by default is going to be clobbering ids. Most of the useful ad-hoc attributes that you would want to add to an query would have to be specified in the :select option anyway... how often do you just want to glom on all the attributes of some other table directly? A default of SELECT table_name.* in the presence of a :joins option just seems to make sense all around. Is there some benefit to always using SELECT * that warrants using it as the default even when it opens the door for such dangerous and unexpected behavior? At the very least the documentation for :joins should say "always specify :select or else..." -- Gabe da Silveira http://darwinweb.net --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/rubyonrails-core?hl=en -~----------~----~----~----~------~----~------~--~---
