aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/associations.rb
diff options
context:
space:
mode:
authorAndrew White <andyw@pixeltrix.co.uk>2008-08-28 17:00:18 +0100
committerJeremy Kemper <jeremy@bitsweat.net>2008-08-28 12:07:15 -0700
commitdb22c89543f45d7f27847003af949afa21cb6fa1 (patch)
treeed7d27eecfca62a9147577a26402e02d5600b1ee /activerecord/lib/active_record/associations.rb
parent44af2efa2c7391681968c827ca47201a0a02e974 (diff)
downloadrails-db22c89543f45d7f27847003af949afa21cb6fa1.tar.gz
rails-db22c89543f45d7f27847003af949afa21cb6fa1.tar.bz2
rails-db22c89543f45d7f27847003af949afa21cb6fa1.zip
Merge scoped :joins together instead of overwriting them. May expose scoping bugs in your code!
[#501 state:resolved] Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
Diffstat (limited to 'activerecord/lib/active_record/associations.rb')
-rwxr-xr-xactiverecord/lib/active_record/associations.rb4
1 files changed, 2 insertions, 2 deletions
diff --git a/activerecord/lib/active_record/associations.rb b/activerecord/lib/active_record/associations.rb
index 98710dee09..3ca93db10f 100755
--- a/activerecord/lib/active_record/associations.rb
+++ b/activerecord/lib/active_record/associations.rb
@@ -1599,7 +1599,7 @@ module ActiveRecord
sql = "SELECT #{column_aliases(join_dependency)} FROM #{(scope && scope[:from]) || options[:from] || quoted_table_name} "
sql << join_dependency.join_associations.collect{|join| join.association_join }.join
- add_joins!(sql, options, scope)
+ add_joins!(sql, options[:joins], scope)
add_conditions!(sql, options[:conditions], scope)
add_limited_ids_condition!(sql, options, join_dependency) if !using_limitable_reflections?(join_dependency.reflections) && ((scope && scope[:limit]) || options[:limit])
@@ -1655,7 +1655,7 @@ module ActiveRecord
if is_distinct
sql << distinct_join_associations.collect { |assoc| assoc.association_join }.join
- add_joins!(sql, options, scope)
+ add_joins!(sql, options[:joins], scope)
end
add_conditions!(sql, options[:conditions], scope)