Is there any reason why HABTM default select clause is select * from ... rather than select table_name.* ... ?
As it is attributes from the join table 'leak' into the attributes for the collection you are fetching (which for example makes a mess if you call to_xml on it). On the other hand has many through does do select table_name.*
Is there a specific legacy reason why this is so or is it just historical artificat (ie can we just change it to table_name.*)
----
The method has been deprecated and removed for a while now, though.
Ah yes, that does make sense.
Yeah, the behaviour has been 'frowned upon' for a while. Prior to the
has_many through functionality it was a 'neat hack' for things like
having created_at on some association.
Now it's kinda disgusting
Could be worth removing it for 2.3 now as it's just bound to cause
confusion and people can manually do :select if they want it.