根据true标志获取所有记录,如果为false flag则获取fetch has_many

时间:2015-01-17 07:18:28

标签: ruby-on-rails postgresql activerecord associations

我正在使用Rails 4应用程序,该应用程序具有以下关联:

class Brand < ActiveRecord::Base
  has_many :brand_locations
  has_many :locations, through: brand_locations
end

class BrandLocation < ActiveRecord::Base
  belongs_to :brand
  belongs_to :location
end

class Location < ActiveRecord::Base
  has_many :brand_locations
  has_many :brands, through: :brand_locations
end

我正在开发一个功能,用户可以选择特定品牌的几个位置,也可以选择该品牌的所有位置。

为了在联接表brand_locations上保存一些插入操作(如果它变得太大,我有很多品牌,并且有很多位置,这将是保存这些关系的巨大记录,如果大多数品牌拥有所有地点。),我打算在表all_location中添加一个名为brands的布尔列,

  • 当此标志为true时,brand.locations应返回表位置中的每个记录。
  • 当此标记为false时,brand.locations应查看brand_location,以检索所有相关位置。

如何归档此类功能​​?

0 个答案:

没有答案