aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRick Olson <technoweenie@gmail.com>2006-03-06 04:47:58 +0000
committerRick Olson <technoweenie@gmail.com>2006-03-06 04:47:58 +0000
commitc58dff1c9cbdd45df8685e230d1dc91cf1deb6cf (patch)
treefc7b0c2a5139b9720ef5f46fe39785128c3a54e5
parent5a7722de98bcf4ad932cf2ec15faa47d1d431457 (diff)
downloadrails-c58dff1c9cbdd45df8685e230d1dc91cf1deb6cf.tar.gz
rails-c58dff1c9cbdd45df8685e230d1dc91cf1deb6cf.tar.bz2
rails-c58dff1c9cbdd45df8685e230d1dc91cf1deb6cf.zip
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
-rw-r--r--activerecord/CHANGELOG4
-rwxr-xr-xactiverecord/lib/active_record/associations.rb2
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