aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib
diff options
context:
space:
mode:
authorbrainopia <brainopia@evilmartians.com>2015-01-06 02:25:19 +0300
committerbrainopia <brainopia@evilmartians.com>2015-01-06 02:29:03 +0300
commit42e386173f888c5762130db8db132bc33d739e4f (patch)
tree1471f20e0bee2a52d937d5a8fbc6f5ff016c4aa2 /activerecord/lib
parent1c8192669fd6880041f87ba8ee2aae52b1f7edd8 (diff)
downloadrails-42e386173f888c5762130db8db132bc33d739e4f.tar.gz
rails-42e386173f888c5762130db8db132bc33d739e4f.tar.bz2
rails-42e386173f888c5762130db8db132bc33d739e4f.zip
Correctly fetch bind_values from join in subquery
Diffstat (limited to 'activerecord/lib')
-rw-r--r--activerecord/lib/active_record/relation/query_methods.rb4
1 files changed, 3 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/relation/query_methods.rb b/activerecord/lib/active_record/relation/query_methods.rb
index 6892cc114c..f054e17017 100644
--- a/activerecord/lib/active_record/relation/query_methods.rb
+++ b/activerecord/lib/active_record/relation/query_methods.rb
@@ -745,6 +745,9 @@ module ActiveRecord
def from!(value, subquery_name = nil) # :nodoc:
self.from_value = [value, subquery_name]
+ if value.is_a? Relation
+ self.bind_values = value.arel.bind_values + value.bind_values + bind_values
+ end
self
end
@@ -999,7 +1002,6 @@ module ActiveRecord
case opts
when Relation
name ||= 'subquery'
- self.bind_values = opts.bind_values + self.bind_values
opts.arel.as(name.to_s)
else
opts