From 0b73f2af0e08c21ff75199505804993160117452 Mon Sep 17 00:00:00 2001 From: Andrew White Date: Thu, 19 Aug 2010 21:48:19 +0100 Subject: Optimize find_sti_class when store_full_sti_class is true [#5403] Signed-off-by: Jeremy Kemper --- activerecord/lib/active_record/base.rb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/activerecord/lib/active_record/base.rb b/activerecord/lib/active_record/base.rb index d9b4cd3831..90241dd897 100644 --- a/activerecord/lib/active_record/base.rb +++ b/activerecord/lib/active_record/base.rb @@ -918,7 +918,11 @@ module ActiveRecord #:nodoc: self else begin - compute_type(type_name) + if store_full_sti_class + ActiveSupport::Dependencies.constantize(type_name) + else + compute_type(type_name) + end rescue NameError raise SubclassNotFound, "The single-table inheritance mechanism failed to locate the subclass: '#{type_name}'. " + -- cgit v1.2.3