diff --git a/activerecord/lib/active_record/relation/query_methods.rb b/activerecord/lib/active_record/relation/query_methods.rb index 502a220f5bd55394b212e31973b6c2266ee1a204..b7c15fb80884dc92c89cc57f72268ee77e0cac4b 100644 --- a/activerecord/lib/active_record/relation/query_methods.rb +++ b/activerecord/lib/active_record/relation/query_methods.rb @@ -159,14 +159,13 @@ def custom_join_sql(*joins) case join when Hash, Array, Symbol if array_of_strings?(join) - join_string = join.join(' ') - arel.join(Arel::SqlLiteral.new(join_string)) + join = Arel::SqlLiteral.new(join.join(' ')) end when String - arel.join(Arel::SqlLiteral.new(join)) - else - arel.join(join) + join = Arel::SqlLiteral.new(join) end + + arel.join(join) end arel.joins(arel)