From 2dafbeed5e2afc001aa64ebf6363f350a6f259ac Mon Sep 17 00:00:00 2001 From: Mohsen Alizadeh Date: Sun, 12 Nov 2017 15:36:07 +0330 Subject: sanitize empty and nil parameters to select --- activerecord/lib/active_record/relation/query_methods.rb | 1 + 1 file changed, 1 insertion(+) (limited to 'activerecord') diff --git a/activerecord/lib/active_record/relation/query_methods.rb b/activerecord/lib/active_record/relation/query_methods.rb index 34554450dd..eec907e9cf 100644 --- a/activerecord/lib/active_record/relation/query_methods.rb +++ b/activerecord/lib/active_record/relation/query_methods.rb @@ -231,6 +231,7 @@ module ActiveRecord end def _select!(*fields) # :nodoc: + fields.reject!(&:blank?) fields.flatten! fields.map! do |field| klass.attribute_alias?(field) ? klass.attribute_alias(field).to_sym : field -- cgit v1.2.3 From ccbba229386bdc629be5f5f4ef765ab5e29e7da7 Mon Sep 17 00:00:00 2001 From: Mohsen Alizadeh Date: Sun, 3 Dec 2017 15:16:52 +0330 Subject: add test case to relation select --- activerecord/test/cases/relation/select_test.rb | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 activerecord/test/cases/relation/select_test.rb (limited to 'activerecord') diff --git a/activerecord/test/cases/relation/select_test.rb b/activerecord/test/cases/relation/select_test.rb new file mode 100644 index 0000000000..0577e6bfdb --- /dev/null +++ b/activerecord/test/cases/relation/select_test.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +require "cases/helper" +require "models/post" + +module ActiveRecord + class SelectTest < ActiveRecord::TestCase + fixtures :posts + + def test_select_with_nil_agrument + expected = Post.select(:title).to_sql + assert_equal expected, Post.select(nil).select(:title).to_sql + end + end +end -- cgit v1.2.3