Ruby on rails 如何通过有序关联检索有序对象?
我正在使用RubyonRails 3.2.2。我有以下协会: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
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