Let’s say we have the following models:
Product < ActiveRecord::Base has_many :products_suppliers has_many :suppliers, :through => :products_supplier
Supplier < ActiveRecord::Base has_many :products_suppliers has_many :products, :through => :products_supplier
ProductsSupplier < ActiveRecord::Base belongs_to :supplier belongs_to :product end
Let’ say we have this data in the products_suppliers table:
supplier_id | product_id | 1 | 2 | 1 | 1 | 2 | 2 | 2 | 1 |
So when I do this:
@suppliers = Product.find(1).suppliers, it will return an array with the suppliers with id 1 and 2.
Let’s say I do this:
@supplier = @suppliers[0] #Which is the supplier with id = 1, the one fetched from the (supplier_id = 1, product_id = 2) record in the products_suppliers table. Ok, now I got a single instance of a supplier. What I want is to get the product_id it was associated with in the products_suppliers table. (product_id = 2), might be missing something simple, but I can’t seem to find a way to do that.
Any help appreciated!
Thanks,
Marcelo.