aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record
diff options
context:
space:
mode:
authorRafael França <rafaelmfranca@gmail.com>2016-07-27 23:23:05 -0300
committerGitHub <noreply@github.com>2016-07-27 23:23:05 -0300
commit70ec7feaecab2d3f4dcb84ef2373a80d427aa336 (patch)
tree1f589c86d0706cb37d95a2d56a51758cf2244266 /activerecord/lib/active_record
parentea1dcbbc9965f82361f45d5b098207de738d7bb9 (diff)
parentb7d229d1fabbd271fd37e9f4eac316a44d690842 (diff)
downloadrails-70ec7feaecab2d3f4dcb84ef2373a80d427aa336.tar.gz
rails-70ec7feaecab2d3f4dcb84ef2373a80d427aa336.tar.bz2
rails-70ec7feaecab2d3f4dcb84ef2373a80d427aa336.zip
Merge pull request #25767 from kamipo/association_name_is_the_same_as_join_table_name
Correctly return `associated_table` when `associated_with?` is true
Diffstat (limited to 'activerecord/lib/active_record')
-rw-r--r--activerecord/lib/active_record/table_metadata.rb6
1 files changed, 3 insertions, 3 deletions
diff --git a/activerecord/lib/active_record/table_metadata.rb b/activerecord/lib/active_record/table_metadata.rb
index a1326aa359..5fe0d8b5e4 100644
--- a/activerecord/lib/active_record/table_metadata.rb
+++ b/activerecord/lib/active_record/table_metadata.rb
@@ -42,11 +42,11 @@ module ActiveRecord
end
def associated_table(table_name)
- return self if table_name == arel_table.name
-
association = klass._reflect_on_association(table_name) || klass._reflect_on_association(table_name.singularize)
- if association && !association.polymorphic?
+ if !association && table_name == arel_table.name
+ return self
+ elsif association && !association.polymorphic?
association_klass = association.klass
arel_table = association_klass.arel_table.alias(table_name)
else