diff options
Diffstat (limited to 'activerecord/lib')
-rwxr-xr-x | activerecord/lib/active_record/associations.rb | 10 |
1 files changed, 1 insertions, 9 deletions
diff --git a/activerecord/lib/active_record/associations.rb b/activerecord/lib/active_record/associations.rb index 18f4580f45..dd7464432a 100755 --- a/activerecord/lib/active_record/associations.rb +++ b/activerecord/lib/active_record/associations.rb @@ -1681,7 +1681,7 @@ module ActiveRecord as_extra ] - when reflection.macro == :has_many && reflection.options[:as] + when reflection.options[:as] && [:has_many, :has_one].include?(reflection.macro) " LEFT OUTER JOIN %s ON %s.%s = %s.%s AND %s.%s = %s" % [ table_name_and_alias, aliased_table_name, "#{reflection.options[:as]}_id", @@ -1689,14 +1689,6 @@ module ActiveRecord aliased_table_name, "#{reflection.options[:as]}_type", klass.quote_value(parent.active_record.base_class.name) ] - when reflection.macro == :has_one && reflection.options[:as] - " LEFT OUTER JOIN %s ON %s.%s = %s.%s AND %s.%s = %s " % [ - table_name_and_alias, - aliased_table_name, "#{reflection.options[:as]}_id", - parent.aliased_table_name, parent.primary_key, - aliased_table_name, "#{reflection.options[:as]}_type", - klass.quote_value(reflection.active_record.base_class.name) - ] else foreign_key = options[:foreign_key] || reflection.active_record.name.foreign_key " LEFT OUTER JOIN %s ON %s.%s = %s.%s " % [ |