我有模特Trader,Location and Service
按照以下
设置它们class Trader < ActiveRecord::Base
has_many :services
has_and_belongs_to_many :locations
end
class Location < ActiveRecord::Base
has_and_belongs_to_many :traders
end
class Service < ActiveRecord::Base
belongs_to :trader
end
我希望某个特定的位置能够按照交易者提供的服务数量的顺序返回它所包含的交易者。
我已经阅读了一些建议,但只考虑了我有效拥有的2个模型之间的关联。我已经使用数组,数组指针和case语句组合了一个非常复杂的方法,我将不遗余力地阅读。
实现我想要的最佳方式是什么?
答案 0 :(得分:2)
我在:counter_cache
的{{1}}关联中添加了Trader
。然后,您可以按services
进行排序,而且您不必使用services_count
来覆盖该表格。