diff options
author | Joachim Garth <jpgarth@googlemail.com> | 2008-06-27 20:03:51 +0200 |
---|---|---|
committer | Pratik Naik <pratiknaik@gmail.com> | 2008-07-18 03:44:44 +0100 |
commit | a1fcbd971d681e44de5ea33e6a8470ff8b8144c0 (patch) | |
tree | 6fbcb336c3ce34c20f77e7a60432132d28c86965 /activerecord/lib/active_record | |
parent | 1e0f94a77c717dd06a86edda97de5a4c4ad919a8 (diff) | |
download | rails-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')
-rw-r--r-- | activerecord/lib/active_record/association_preload.rb | 2 |
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 (?)" |