From c58dff1c9cbdd45df8685e230d1dc91cf1deb6cf Mon Sep 17 00:00:00 2001 From: Rick Olson Date: Mon, 6 Mar 2006 04:47:58 +0000 Subject: slight change to eager associations table aliasing: use class_reflection, like 'post_comments' or 'tree_children' git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3788 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- activerecord/CHANGELOG | 4 ++-- activerecord/lib/active_record/associations.rb | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/activerecord/CHANGELOG b/activerecord/CHANGELOG index 9114f70ea1..ea920c7721 100644 --- a/activerecord/CHANGELOG +++ b/activerecord/CHANGELOG @@ -3,9 +3,9 @@ * Added smarter table aliasing for eager associations for multiple self joins #3580 [Rick Olson] * The first time a table is referenced in a join, no alias is used. - * After that, the parent table name and the reflection name are used. + * After that, the parent class name and the reflection name are used. - Tree.find(:all, :include => :children) # LEFT OUTER JOIN trees AS tress_children ... + Tree.find(:all, :include => :children) # LEFT OUTER JOIN trees AS tree_children ... * Any additional join references get a numerical suffix like '_2', '_3', etc. diff --git a/activerecord/lib/active_record/associations.rb b/activerecord/lib/active_record/associations.rb index d31d43c800..9e71c627c5 100755 --- a/activerecord/lib/active_record/associations.rb +++ b/activerecord/lib/active_record/associations.rb @@ -1197,7 +1197,7 @@ module ActiveRecord unless join_dependency.table_aliases[aliased_table_name].zero? # if the table name has been used, then use an alias # if the alias has been used, add a '_n' suffix to the end. - @aliased_table_name = "#{parent.table_name}_#{reflection.name}_#{join_dependency.table_aliases[aliased_table_name]}".gsub(/_1$/, '') + @aliased_table_name = "#{parent.active_record.to_s.underscore}_#{reflection.name}_#{join_dependency.table_aliases[aliased_table_name]}".gsub(/_1$/, '') end join_dependency.table_aliases[aliased_table_name] += 1 end -- cgit v1.2.3