依靠HABM has_many关联

时间:2014-06-27 20:04:56

标签: ruby-on-rails

我有模特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语句组合了一个非常复杂的方法,我将不遗余力地阅读。

实现我想要的最佳方式是什么?

1 个答案:

答案 0 :(得分:2)

我在:counter_cache的{​​{1}}关联中添加了Trader。然后,您可以按services进行排序,而且您不必使用services_count来覆盖该表格。