aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/reflection.rb
diff options
context:
space:
mode:
Diffstat (limited to 'activerecord/lib/active_record/reflection.rb')
-rw-r--r--activerecord/lib/active_record/reflection.rb10
1 files changed, 10 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/reflection.rb b/activerecord/lib/active_record/reflection.rb
index 1bc92b1587..83771bd5dc 100644
--- a/activerecord/lib/active_record/reflection.rb
+++ b/activerecord/lib/active_record/reflection.rb
@@ -165,6 +165,11 @@ module ActiveRecord
def constraints
scope ? [scope] : []
end
+
+ def alias_name(name, alias_tracker)
+ alias_name = "#{plural_name}_#{name}"
+ alias_tracker.aliased_table_for(table_name, alias_name)
+ end
end
# Base class for AggregateReflection and AssociationReflection. Objects of
@@ -753,6 +758,11 @@ module ActiveRecord
source_type = @prev_reflection.options[:source_type]
lambda { |object| where(type => source_type) }
end
+
+ def alias_name(name, alias_tracker)
+ alias_name = "#{plural_name}_#{name}"
+ alias_tracker.aliased_table_for(table_name, alias_name)
+ end
end
# Consider the following example: