0

我有两个多对多模型和另一个

店铺类型:

class Storetype < ActiveRecord::Base
  has_and_belongs_to_many :stores
end

商店:

class Store < ActiveRecord::Base
  belongs_to :group  
  has_many :products
end

团体:

class Group < ActiveRecord::Base
  has_many :stores
  has_many :storetypes
end

我需要做一个查询,在那里我得到一个 storetype 上的所有商店,我正在做这样的事情:

@storetype_id = Storetype.first
@stores = @group.stores.where(@storetype_id => @group.stores)

有什么想法吗?

编辑

我需要的输出是属于某个商店类型的所有商店

4

1 回答 1

1

这里我会指出几个问题。

我假设你的意思是Storetype.first当你说@storetype.first. 您混淆了类和类的实例。所以说我这样做:

@storetype = Storetype.first

我正在创建 class 的一个实例Storetype,这是您的模型。找我?

所以为了回答你的问题,一旦我有了一个实例,我现在可以简单地运行

@storetype.stores 

到该商店类型的所有商店。看看我是如何与你的方法相反的吗?我也根本不需要使用 storetype 的 id。更容易和更清洁。

对于关系的另一部分,要获取商店的所有商店类型,您只需运行(使用 的实例Store

@store.storetypes
于 2013-08-25T19:47:28.953 回答