如何使用具有默认排序的依赖destroy子目录销毁ActiveModel实例?

在Rails 4.0中,我有2个ActiveRecord类:

class Sequence < ActiveRecord::Base has_many :steps, dependent: :destroy end 

 class Steps  { order('order ASC') } end 

当我调用mySequence.destroy我收到此错误:

PG :: SyntaxError:错误:“order”或其附近的语法错误第1行:…步骤“WHERE”步骤“。”sequence_id“= $ 1 ORDER BY order ASC ^:SELECT”steps“。* FROM”steps“WHERE “steps”。“sequence_id”= $ 1订购ASC

当我删除默认范围时,错误消失了,但我显然必须在我的代码中按顺序排序。 我确实尝试像这样定义关联,并省略default_scope语句:

 class Sequence < ActiveRecord::Base has_many :steps, dependent: :destroy, order: 'order ASC' end 

但它抛出了同样的错误。

还有其他人有这个问题吗? 这是Rails中的错误吗? 我想在孩子们的destroy sql语句中不需要排序。

我也在rails gitHub问题页面上发布了这个问题。 gitHub用户tanraya提出了以下优雅的解决方案。

 default_scope -> { order order: :asc } 

感谢来自这里,tanraya和荣誉!