method
aliased_table_for
v5.0.0.1 -
Show latest stable
- Class:
ActiveRecord::Associations::AliasTracker
aliased_table_for(table_name, aliased_name)public
No documentation available.
# File activerecord/lib/active_record/associations/alias_tracker.rb, line 62
def aliased_table_for(table_name, aliased_name)
if aliases[table_name].zero?
# If it's zero, we can have our table_name
aliases[table_name] = 1
Arel::Table.new(table_name, type_caster: @type_caster)
else
# Otherwise, we need to use an alias
aliased_name = @connection.table_alias_for(aliased_name)
# Update the count
aliases[aliased_name] += 1
table_alias = if aliases[aliased_name] > 1
"#{truncate(aliased_name)}_#{aliases[aliased_name]}"
else
aliased_name
end
Arel::Table.new(table_name, type_caster: @type_caster).alias(table_alias)
end
end