aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--activerecord/lib/active_record/associations/alias_tracker.rb2
-rw-r--r--activerecord/lib/active_record/associations/through_association.rb11
-rw-r--r--activerecord/lib/active_record/relation/query_methods.rb1
3 files changed, 5 insertions, 9 deletions
diff --git a/activerecord/lib/active_record/associations/alias_tracker.rb b/activerecord/lib/active_record/associations/alias_tracker.rb
index 6fc2bfdb31..634dee2289 100644
--- a/activerecord/lib/active_record/associations/alias_tracker.rb
+++ b/activerecord/lib/active_record/associations/alias_tracker.rb
@@ -16,7 +16,7 @@ module ActiveRecord
def aliased_table_for(table_name, aliased_name = nil)
table_alias = aliased_name_for(table_name, aliased_name)
- if table_alias == table_name # TODO: Is this conditional necessary?
+ if table_alias == table_name
Arel::Table.new(table_name)
else
Arel::Table.new(table_name).alias(table_alias)
diff --git a/activerecord/lib/active_record/associations/through_association.rb b/activerecord/lib/active_record/associations/through_association.rb
index c0c92e8d72..e6ab628719 100644
--- a/activerecord/lib/active_record/associations/through_association.rb
+++ b/activerecord/lib/active_record/associations/through_association.rb
@@ -9,12 +9,8 @@ module ActiveRecord
# We merge in these scopes for two reasons:
#
- # 1. To get the scope_for_create on through reflection when building associated objects
- # 2. To get the type conditions for any STI classes in the chain
- #
- # TODO: Don't actually do this. Getting the creation attributes for a non-nested through
- # is a special case. The rest (STI conditions) should be handled by the reflection
- # itself.
+ # 1. To get the default_scope conditions for any of the other reflections in the chain
+ # 2. To get the type conditions for any STI models in the chain
def target_scope
scope = super
chain[1..-1].each do |reflection|
@@ -61,7 +57,8 @@ module ActiveRecord
end
end
- # TODO: Think about this in the context of nested associations
+ # Note: this does not capture all cases, for example it would be crazy to try to
+ # properly support stale-checking for nested associations.
def stale_state
if through_reflection.macro == :belongs_to
owner[through_reflection.foreign_key].to_s
diff --git a/activerecord/lib/active_record/relation/query_methods.rb b/activerecord/lib/active_record/relation/query_methods.rb
index 0c7a9ec56d..9470e7c6c5 100644
--- a/activerecord/lib/active_record/relation/query_methods.rb
+++ b/activerecord/lib/active_record/relation/query_methods.rb
@@ -260,7 +260,6 @@ module ActiveRecord
join_list
)
- # TODO: Necessary?
join_nodes.each do |join|
join_dependency.alias_tracker.aliased_name_for(join.left.name.downcase)
end