Ruby on rails 如何按优先级对任务进行排序?

Ruby on rails 如何按优先级对任务进行排序?,ruby-on-rails,sorting,Ruby On Rails,Sorting,在我的模式中,我有一个任务表,其中一列是优先级。在任务模型中,我已将优先级分配给可枚举项。我正在尝试按高优先级到低优先级对它们进行排序。我能把它们从低到高分类。请查看我的代码,并帮助我以另一种方式对它们进行排序。谢谢 class Task < ActiveRecord::Base belongs_to :project belongs_to :user belongs_to :assignee, class_name: "User", foreign_key: "assign

在我的模式中,我有一个任务表,其中一列是优先级。在任务模型中,我已将优先级分配给可枚举项。我正在尝试按高优先级到低优先级对它们进行排序。我能把它们从低到高分类。请查看我的代码,并帮助我以另一种方式对它们进行排序。谢谢

class Task < ActiveRecord::Base

  belongs_to :project
  belongs_to :user
  belongs_to :assignee, class_name: "User", foreign_key: "assigned_user_id" 

  enum priority: ['whenever', 'low', 'medium', 'high', 'immediate']

  self.default_scope {order ('tasks.priority')}

因此,答案只是简单地将DESC添加到查询中:

self.default_scope {order ('tasks.priority DESC')}
另一种方法是将.reverse_顺序添加到查询末尾:

self.default_scope {order ('tasks.priority')}.reverse_order

两者都会产生相同的结果

尝试将order语句更改为order'tasks.priority DESC'try self.default_scope{order'tasks.priority DESC'}Huzzah!!成功了!多谢!