Поиск через таблицу соединений - PullRequest
0 голосов
/ 19 января 2012

Итак, у меня есть продукт, таблица соединений product_tags и теги.Я хотел бы найти все продукты с определенным именем тега, используя Product.find.Возможно ли это?

1 Ответ

1 голос
/ 19 января 2012

Вы не отправили код, но я предполагаю, что это ваша установка:

class Product < ActiveRecord::Base
   has_many :product_tags
   has_many :tags, :through => :product_tags
end

class Tag < ActiveRecord::Base
   has_many :product_tags
   has_many :products, :through => :product_tags
end

class ProductTag < ActiveRecord::Base
   belongs_to :product
   belongs_to :tag
end

Затем вы можете найти все продукты с заданным именем тега, например, "cool_product" следующим образом:

cool_tag = Tag.find_by_name("cool_product")
cool_tag.products # => list of all products

Для справки и изучения я настоятельно рекомендую прочитать всю документацию на странице ActiveRecord :: Associations :: ClassMethods . Методы ассоциации являются одними из наиболее недооцененных функций Active Record.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...