aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/relation/merger.rb
diff options
context:
space:
mode:
authorRyuta Kamizono <kamipo@gmail.com>2017-07-18 04:15:45 +0900
committerRyuta Kamizono <kamipo@gmail.com>2017-07-18 04:24:38 +0900
commitea09bf5419ec752dd020d26b03533afa457d09d6 (patch)
treef20a0fa9af8ab09016ea6a0d01c05831d993a9a3 /activerecord/lib/active_record/relation/merger.rb
parentcabad0e848379c184da86452ecb390aba4c7fed5 (diff)
downloadrails-ea09bf5419ec752dd020d26b03533afa457d09d6.tar.gz
rails-ea09bf5419ec752dd020d26b03533afa457d09d6.tar.bz2
rails-ea09bf5419ec752dd020d26b03533afa457d09d6.zip
Fix `JoinDependency` with using a custom table
Without this fix, `JoinDependency` doesn't use a custom table alias: ``` % ARCONN=sqlite3 be ruby -w -Itest test/cases/relations_test.rb -n test_using_a_custom_table_with_joins_affects_the_wheres Using sqlite3 Run options: -n test_using_a_custom_table_with_joins_affects_the_wheres --seed 14531 E Error:RelationTest#test_using_a_custom_table_with_joins_affects_the_wheres: ActiveRecord::StatementInvalid: SQLite3::SQLException: no such column: posts.author_id: SELECT "omg_posts".* FROM "posts" "omg_posts" INNER JOIN "authors" ON "authors"."id" = "posts"."author_id" WHERE "omg_posts"."title" = ? LIMIT ? ```
Diffstat (limited to 'activerecord/lib/active_record/relation/merger.rb')
-rw-r--r--activerecord/lib/active_record/relation/merger.rb7
1 files changed, 4 insertions, 3 deletions
diff --git a/activerecord/lib/active_record/relation/merger.rb b/activerecord/lib/active_record/relation/merger.rb
index 5dac00724a..6251f6fc33 100644
--- a/activerecord/lib/active_record/relation/merger.rb
+++ b/activerecord/lib/active_record/relation/merger.rb
@@ -119,9 +119,10 @@ module ActiveRecord
end
end
- join_dependency = ActiveRecord::Associations::JoinDependency.new(other.klass,
- joins_dependency,
- [])
+ join_dependency = ActiveRecord::Associations::JoinDependency.new(
+ other.klass, other.table, joins_dependency, []
+ )
+
relation.joins! rest
@relation = relation.joins join_dependency