aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/association_preload.rb
diff options
context:
space:
mode:
authorJoachim Garth <jpgarth@googlemail.com>2008-06-27 20:03:51 +0200
committerPratik Naik <pratiknaik@gmail.com>2008-07-18 03:44:44 +0100
commita1fcbd971d681e44de5ea33e6a8470ff8b8144c0 (patch)
tree6fbcb336c3ce34c20f77e7a60432132d28c86965 /activerecord/lib/active_record/association_preload.rb
parent1e0f94a77c717dd06a86edda97de5a4c4ad919a8 (diff)
downloadrails-a1fcbd971d681e44de5ea33e6a8470ff8b8144c0.tar.gz
rails-a1fcbd971d681e44de5ea33e6a8470ff8b8144c0.tar.bz2
rails-a1fcbd971d681e44de5ea33e6a8470ff8b8144c0.zip
Make sure association preloading works with full STI class name [#465 state:Resolved]
Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
Diffstat (limited to 'activerecord/lib/active_record/association_preload.rb')
-rw-r--r--activerecord/lib/active_record/association_preload.rb2
1 files changed, 1 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/association_preload.rb b/activerecord/lib/active_record/association_preload.rb
index 64888f9110..c7594809b7 100644
--- a/activerecord/lib/active_record/association_preload.rb
+++ b/activerecord/lib/active_record/association_preload.rb
@@ -252,7 +252,7 @@ module ActiveRecord
table_name = reflection.klass.quoted_table_name
if interface = reflection.options[:as]
- conditions = "#{reflection.klass.quoted_table_name}.#{connection.quote_column_name "#{interface}_id"} IN (?) and #{reflection.klass.quoted_table_name}.#{connection.quote_column_name "#{interface}_type"} = '#{self.base_class.name.demodulize}'"
+ conditions = "#{reflection.klass.quoted_table_name}.#{connection.quote_column_name "#{interface}_id"} IN (?) and #{reflection.klass.quoted_table_name}.#{connection.quote_column_name "#{interface}_type"} = '#{self.base_class.sti_name}'"
else
foreign_key = reflection.primary_key_name
conditions = "#{reflection.klass.quoted_table_name}.#{foreign_key} IN (?)"