Prev: Can't install Mongrel and My SQL gem on Windows XP 64 bit
Next: Easy and fast job (SCRIPT) , 50 €
From: Trish on 3 Aug 2010 09:45 I am working on a project that has some complex table associations, and I am having a hard time declaring this association in a Model, and fear it can't be done. Here is an example of my issue... class StoreType < ActiveRecord::Base; end class Store < ActiveRecord::Base; end class Department < ActiveRecord::Base; end class Product < ActiveRecord::Base; end A StoreType has many stores and a Store has many Department. However, both Store and Department have many products. An product has the columns store_id and department_id which are mutually exclusive. This is because a Product may belong directly to a Department, or it may be a 'global' product that belongs directly to the Store. What I'd like to do is have an association in the StoreType model that would give me all products for that StoreType. Currently, I have set up the following associtations on StoreType: class StoreType < ActiveRecord::Base has_many :stores has_many :departments, :through=>:stores has_many :store_products, :through=>:stores, :source=>:products, :uniq => true has_many :department_products, :through=>:departments, :source=>:products, :uniq => true end This is using the Nested Has Many Through plugin to achieve the nested association (department_products). However, I'd like to have a generic 'products' association for StoreType that pulls a combination of the two product associations. I'd like to do this through an association instead of just through a function because I want to gain the dynamic methods created by has_many, specifically the "collection.find(...)" method so I can add more conditions to the collection. Is there a way to do this? Thanks in advance! Trish
|
Pages: 1 Prev: Can't install Mongrel and My SQL gem on Windows XP 64 bit Next: Easy and fast job (SCRIPT) , 50 € |