diff options
author | Ernie Miller <ernie@erniemiller.org> | 2013-07-14 13:53:38 -0400 |
---|---|---|
committer | Ernie Miller <ernie@erniemiller.org> | 2013-07-14 13:53:38 -0400 |
commit | e2d82508148fc4e3d507f70ed236414a75c58672 (patch) | |
tree | 264d32e6001da1a93cbcdcf8164c3ea17ebb7ada /activerecord/lib/active_record | |
parent | 9fbdd9d83e8e2775845cbc581e0c357f99d292e4 (diff) | |
download | rails-e2d82508148fc4e3d507f70ed236414a75c58672.tar.gz rails-e2d82508148fc4e3d507f70ed236414a75c58672.tar.bz2 rails-e2d82508148fc4e3d507f70ed236414a75c58672.zip |
Blacklist->whitelist for reference scans in order!
Stop special-casing Arel::Nodes as exempt from reference scanning in
order. Instead, only scan order values that are strings for a table
reference.
Diffstat (limited to 'activerecord/lib/active_record')
-rw-r--r-- | activerecord/lib/active_record/relation/query_methods.rb | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/relation/query_methods.rb b/activerecord/lib/active_record/relation/query_methods.rb index 1327cc3c34..a27b6abe2e 100644 --- a/activerecord/lib/active_record/relation/query_methods.rb +++ b/activerecord/lib/active_record/relation/query_methods.rb @@ -280,7 +280,7 @@ module ActiveRecord args.flatten! validate_order_args args - references = args.reject { |arg| Arel::Node === arg } + references = args.grep(String) references.map! { |arg| arg =~ /^([a-zA-Z]\w*)\.(\w+)/ && $1 }.compact! references!(references) if references.any? |