diff options
author | José Valim <jose.valim@plataformatec.com.br> | 2012-02-08 06:41:54 -0800 |
---|---|---|
committer | Carlos Antonio da Silva <carlosantoniodasilva@gmail.com> | 2012-12-03 23:17:16 -0200 |
commit | a878126028471626a9b30ebe60b7306374fb74ca (patch) | |
tree | d801fbe07b897cc8ce83a3dab8ef7b0031950c6f /activerecord/lib/active_record | |
parent | 1a5caf180e22970a5ca927e9315a1af9f6bf6495 (diff) | |
download | rails-a878126028471626a9b30ebe60b7306374fb74ca.tar.gz rails-a878126028471626a9b30ebe60b7306374fb74ca.tar.bz2 rails-a878126028471626a9b30ebe60b7306374fb74ca.zip |
Merge pull request #4942 from bogdan/pluck_joins
AR::Relation#pluck: improve to work with joins
Conflicts:
activerecord/lib/active_record/relation/calculations.rb
activerecord/test/cases/calculations_test.rb
Diffstat (limited to 'activerecord/lib/active_record')
-rw-r--r-- | activerecord/lib/active_record/relation/calculations.rb | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/relation/calculations.rb b/activerecord/lib/active_record/relation/calculations.rb index 45e9e64229..20c5fa03a2 100644 --- a/activerecord/lib/active_record/relation/calculations.rb +++ b/activerecord/lib/active_record/relation/calculations.rb @@ -177,7 +177,12 @@ module ActiveRecord # Person.where(:confirmed => true).limit(5).pluck(:id) # def pluck(column_name) - column_name = column_name.to_s + if column_name.is_a?(Symbol) && column_names.include?(column_name.to_s) + column_name = "#{table_name}.#{column_name}" + else + column_name = column_name.to_s + end + relation = clone relation.select_values = [column_name] klass.connection.select_all(relation.arel, nil, bind_values).map! do |attributes| |