Modeling question

Sam, I am assuming you have the following...

class Salesperson < ActiveRecord::Base
    has_many :customers
    has_many :purchased_products, :through => :customers
end

class Customer < ActiveRecord::Base
    belongs_to :salesperson
    has_many :purchased_products
end

class PurchasedProduct < ActiveRecord::Base
    belongs_to :customer
end

...and also:

table "purchased_products" with "customer_id"
table "customers" with "salesperson_id"

And what you do is:

Salesperson.find(:first).purchased_products

This works as advertised. I've just tried id. Do you get an error in
the log?

Or did you just not get the results you expected?
I ask, because your model is flawed as it only allows each Product to
be purchased by ONE customer only. Same goes for Customers and
Salespeople. Each Customer belongs to only ONE Salesperson.

Did you mean to us has_and_belongs_to_many in these occasions? Or
even a "Customer has_many :products, :through => :purchases" and
"Salesperson has_many :customers, :through => :sales" and utilise the
two join models Purchases, Sales?

-christos