Nemam iskustva sa tim ORM-om, ali ako je u pitanju yet another ActiveRecord clone (na šta mi na prvi pogled liči, ali možda se varam), evo kako bi se to rešilo tamo:
has_many metoda omogućava da se zada "posredna relacija" pomoću opcije "through", tako da možeš da deklarišeš novi scope na ovu foru:
Kôd:
class Tag < ActiveRecord::Base
has_and_belongs_to_many :products
end
class Product < ActiveRecord::Base
has_and_belongs_to_many :tags
has_many :related_products, :through => :tags, :source => :products
end
I onda možeš da radiš stvari tipa:
Kôd:
Product.find_by_name('semalirana pufna za frezenkovanje').related_products
Mali caveat: related_products će sadržati i sam product na kome se poziva, ali to lako možeš da izfilteruješ prilikom prikazivanja.