diff options
author | Santiago Pastorino <santiago@wyeworks.com> | 2014-11-24 14:55:34 -0200 |
---|---|---|
committer | Santiago Pastorino <santiago@wyeworks.com> | 2014-11-24 14:55:34 -0200 |
commit | e3acd74fa8cbe5c09321ee75dd387e9d8cb044fc (patch) | |
tree | 03b48edff010244ca9f7f54588a1cd8ffdfe23f7 /activerecord/lib | |
parent | 33c80cb69e183abb1212de0851565ef7f1c48cc4 (diff) | |
parent | 91e3dab804fffe0b1daebb438091418faa1fa256 (diff) | |
download | rails-e3acd74fa8cbe5c09321ee75dd387e9d8cb044fc.tar.gz rails-e3acd74fa8cbe5c09321ee75dd387e9d8cb044fc.tar.bz2 rails-e3acd74fa8cbe5c09321ee75dd387e9d8cb044fc.zip |
Merge pull request #17678 from siddharth28/includes_with_scope_with_joins
Fix includes on association with a scope
Diffstat (limited to 'activerecord/lib')
-rw-r--r-- | activerecord/lib/active_record/associations/preloader/association.rb | 10 | ||||
-rw-r--r-- | activerecord/lib/active_record/relation/query_methods.rb | 6 |
2 files changed, 4 insertions, 12 deletions
diff --git a/activerecord/lib/active_record/associations/preloader/association.rb b/activerecord/lib/active_record/associations/preloader/association.rb index 496c426986..7d6523dbc4 100644 --- a/activerecord/lib/active_record/associations/preloader/association.rb +++ b/activerecord/lib/active_record/associations/preloader/association.rb @@ -142,14 +142,8 @@ module ActiveRecord scope._select! preload_values[:select] || values[:select] || table[Arel.star] scope.includes! preload_values[:includes] || values[:includes] - - if preload_values.key? :order - scope.order! preload_values[:order] - else - if values.key? :order - scope.order! values[:order] - end - end + scope.joins! preload_values[:joins] || values[:joins] + scope.order! preload_values[:order] || values[:order] if preload_values[:readonly] || values[:readonly] scope.readonly! diff --git a/activerecord/lib/active_record/relation/query_methods.rb b/activerecord/lib/active_record/relation/query_methods.rb index eb69943551..6e384facce 100644 --- a/activerecord/lib/active_record/relation/query_methods.rb +++ b/activerecord/lib/active_record/relation/query_methods.rb @@ -427,14 +427,12 @@ module ActiveRecord # => SELECT "users".* FROM "users" LEFT JOIN bookmarks ON bookmarks.bookmarkable_type = 'Post' AND bookmarks.user_id = users.id def joins(*args) check_if_method_has_arguments!(:joins, args) - - args.compact! - args.flatten! - spawn.joins!(*args) end def joins!(*args) # :nodoc: + args.compact! + args.flatten! self.joins_values += args self end |