aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib
diff options
context:
space:
mode:
authorRyuta Kamizono <kamipo@gmail.com>2017-12-18 01:40:55 +0900
committerRyuta Kamizono <kamipo@gmail.com>2017-12-18 01:52:54 +0900
commitde354cc3573e8b6e81448080a21c313f5bdbab7b (patch)
treeae152e243042b03e28b6d68f53a2d30fd6203d28 /activerecord/lib
parent475a0f887ce4087443fdf7c5f3f066c90fb00126 (diff)
downloadrails-de354cc3573e8b6e81448080a21c313f5bdbab7b.tar.gz
rails-de354cc3573e8b6e81448080a21c313f5bdbab7b.tar.bz2
rails-de354cc3573e8b6e81448080a21c313f5bdbab7b.zip
Using table name qualified column names unless having SELECT list explicitly
Previously table name qualified `*` is used in that case. If it is not qualified with a table name, an ambiguous column name error will occur when using JOINs.
Diffstat (limited to 'activerecord/lib')
-rw-r--r--activerecord/lib/active_record/relation/query_methods.rb4
1 files changed, 2 insertions, 2 deletions
diff --git a/activerecord/lib/active_record/relation/query_methods.rb b/activerecord/lib/active_record/relation/query_methods.rb
index 6b3ff3d610..2056f9bb73 100644
--- a/activerecord/lib/active_record/relation/query_methods.rb
+++ b/activerecord/lib/active_record/relation/query_methods.rb
@@ -1040,8 +1040,8 @@ module ActiveRecord
def build_select(arel)
if select_values.any?
arel.project(*arel_columns(select_values.uniq))
- elsif @klass.ignored_columns.any?
- arel.project(*arel_columns(@klass.column_names.map(&:to_sym)))
+ elsif klass.ignored_columns.any?
+ arel.project(*klass.column_names.map { |field| arel_attribute(field) })
else
arel.project(table[Arel.star])
end