I'm surprised this is not yet reported/requested, though perhaps
it is and I just couldn't find it.
I think that has_many :through should create the :through
association if it's not already declared.
Example:
class User < ActiveRecord::Base
has_many :memberships
has_many :groups, :through => :memberships
end
Why do I need to declare :memberships twice? Shouldn't this
suffice?
class User < ActiveRecord::Base
has_many :groups, :through => :memberships
end
Even if the memberships association is more complex, this could
be wrapped in a hash
class User < ActiveRecord::Base
has_many :groups, :through => {
:memberships, :dependent => :destroy
}
end
In terms of expressiveness, I can see the value in declaring the
join model explicitly if that join model has significance,
but sometimes join models are only really useful on one side of the
join, while on the other side it's just noise.
Thoughts?