Ruby on rails 如何通过有序关联检索有序对象?

Ruby on rails 如何通过有序关联检索有序对象?,ruby-on-rails,ruby,ruby-on-rails-3,sorting,associations,Ruby On Rails,Ruby,Ruby On Rails 3,Sorting,Associations,我正在使用RubyonRails 3.2.2。我有以下协会: class Article < ActiveRecord::Base has_many :category_associations, :class_name => 'CategoryAssociation' # Note: Same as :category_associations but gets records ordered by :position. has_many :positione

我正在使用RubyonRails 3.2.2。我有以下协会:

class Article < ActiveRecord::Base
  has_many :category_associations,
    :class_name => 'CategoryAssociation'

  # Note: Same as :category_associations but gets records ordered by :position.
  has_many :positioned_category_associations,
    :class_name => 'CategoryAssociation',
    :order      => :position

  has_many :categories,
    :through    => :category_associations,
    :source     => :category

  # Note: Same as :categories but gets records ordered by :position.
  has_many :positioned_categories,
    :through    => :category_associations,
    :source     => :category,
    :order      => [:category_associations => :position]
end
它似乎不像预期的那样工作:我没有得到有序的类别

如何通过
检索已排序的类别:定位的类别关联
?可能吗


好处:既然
:category\u associations
:positioned\u category\u associations
有几乎相同的语句(除了
:order=>:position
),是否可以重构
:positioned\u category\u associations
语句以干燥(不要重复)代码

class Article < ActiveRecord::Base
  ...

  has_many :positioned_categories,
    :through    => :positioned_category_associations,
    :source     => :category

  # instead of
  #
  # has_many :positioned_categories,
  #   :through    => :category_associations,
  #   :source     => :category,
  #   :order      => [:category_associations => :position]
end