diff options
author | Ryuta Kamizono <kamipo@gmail.com> | 2019-02-17 01:56:18 +0900 |
---|---|---|
committer | Ryuta Kamizono <kamipo@gmail.com> | 2019-02-17 02:44:37 +0900 |
commit | 311f00116738df175c12cb36bebe79587f88e00b (patch) | |
tree | fea3f6a24513a1b5919ed9750ede3810822c79a3 /activerecord/lib/active_record/relation/query_methods.rb | |
parent | 263cfd5cad703a789d56c7e4bb269255048eeeef (diff) | |
download | rails-311f00116738df175c12cb36bebe79587f88e00b.tar.gz rails-311f00116738df175c12cb36bebe79587f88e00b.tar.bz2 rails-311f00116738df175c12cb36bebe79587f88e00b.zip |
Fix `order` with custom attributes
This follows up 0ee96d13de29680e148ccb8e5b68025f29fd091c.
Diffstat (limited to 'activerecord/lib/active_record/relation/query_methods.rb')
-rw-r--r-- | activerecord/lib/active_record/relation/query_methods.rb | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/activerecord/lib/active_record/relation/query_methods.rb b/activerecord/lib/active_record/relation/query_methods.rb index 75976aa8fc..78533e8ff2 100644 --- a/activerecord/lib/active_record/relation/query_methods.rb +++ b/activerecord/lib/active_record/relation/query_methods.rb @@ -1157,14 +1157,20 @@ module ActiveRecord order_args.map! do |arg| case arg when Symbol - arel_attribute(arg).asc + field = arg.to_s + arel_column(field) { + Arel.sql(connection.quote_table_name(field)) + }.asc when Hash arg.map { |field, dir| case field when Arel::Nodes::SqlLiteral field.send(dir.downcase) else - arel_attribute(field).send(dir.downcase) + field = field.to_s + arel_column(field) { + Arel.sql(connection.quote_table_name(field)) + }.send(dir.downcase) end } else |