diff options
author | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2013-02-26 05:15:14 -0800 |
---|---|---|
committer | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2013-02-26 05:15:14 -0800 |
commit | 8bc5e714f48af5ef94e4c884121ca55729013c7b (patch) | |
tree | d79d8bc784cfe968238cf88feccb56354331804f /activerecord/lib | |
parent | 39394ab3dbc32d063adcf03390f36067d4e83a13 (diff) | |
parent | e0356990856abc9a84e6e038e7b06e2931502728 (diff) | |
download | rails-8bc5e714f48af5ef94e4c884121ca55729013c7b.tar.gz rails-8bc5e714f48af5ef94e4c884121ca55729013c7b.tar.bz2 rails-8bc5e714f48af5ef94e4c884121ca55729013c7b.zip |
Merge pull request #9414 from senny/9275_order_with_symbol_and_join
Expand order(:symbol) to "table".symbol to prevent broken queries on PG.
Diffstat (limited to 'activerecord/lib')
-rw-r--r-- | activerecord/lib/active_record/relation/query_methods.rb | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/relation/query_methods.rb b/activerecord/lib/active_record/relation/query_methods.rb index 225677085f..4b8c40592e 100644 --- a/activerecord/lib/active_record/relation/query_methods.rb +++ b/activerecord/lib/active_record/relation/query_methods.rb @@ -285,6 +285,11 @@ module ActiveRecord references.map! { |arg| arg =~ /^([a-zA-Z]\w*)\.(\w+)/ && $1 }.compact! references!(references) if references.any? + # if a symbol is given we prepend the quoted table name + args = args.map { |arg| + arg.is_a?(Symbol) ? "#{quoted_table_name}.#{arg} ASC" : arg + } + self.order_values = args + self.order_values self end |