diff options
author | Jon Leighton <j@jonathanleighton.com> | 2010-10-13 12:10:51 +0100 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2010-10-13 08:24:19 -0700 |
commit | 7dcb6334271aaecf53cbe99fe6f354a351bde210 (patch) | |
tree | 458955a4cb476c408eae94d0c455ab7da6971870 /activerecord/lib/active_record/relation/query_methods.rb | |
parent | 076b75bf9897cd06d3f849aba36dff65e12940ca (diff) | |
download | rails-7dcb6334271aaecf53cbe99fe6f354a351bde210.tar.gz rails-7dcb6334271aaecf53cbe99fe6f354a351bde210.tar.bz2 rails-7dcb6334271aaecf53cbe99fe6f354a351bde210.zip |
Refactor JoinDependency and friends so that a JoinAssociation can produce an arbitrary number of joins, which will be needed in order to support nested through associations.
Diffstat (limited to 'activerecord/lib/active_record/relation/query_methods.rb')
-rw-r--r-- | activerecord/lib/active_record/relation/query_methods.rb | 13 |
1 files changed, 1 insertions, 12 deletions
diff --git a/activerecord/lib/active_record/relation/query_methods.rb b/activerecord/lib/active_record/relation/query_methods.rb index a5dc051c6e..59ce76ea42 100644 --- a/activerecord/lib/active_record/relation/query_methods.rb +++ b/activerecord/lib/active_record/relation/query_methods.rb @@ -221,19 +221,8 @@ module ActiveRecord @implicit_readonly = true unless association_joins.empty? && stashed_association_joins.empty? - to_join = [] - join_dependency.join_associations.each do |association| - if (association_relation = association.relation).is_a?(Array) - to_join << [association_relation.first, association.join_class, association.association_join.first] - to_join << [association_relation.last, association.join_class, association.association_join.last] - else - to_join << [association_relation, association.join_class, association.association_join] - end - end - - to_join.uniq.each do |left, join_class, right| - relation = relation.join(left, join_class).on(*right) + relation = association.join_to(relation) end relation.join(custom_joins) |