Easier way to pull associated records of has_many associated

Currently my User model has has_many groups and the Group model has_many folders.

so is there any way to pulling all the folders like this. user.groups.folders?

Currently I have to loop like this and dump them in to array.

[code=] def user_folders     user_folders =     user_folders.push(self.folders.collect)     self.groups.each do |group|       user_folders.push(group.folders.collect)     end     user_folders = user_folders.flatten.uniq   end [/code]

I get this error "ActiveRecord::HasManyThroughSourceAssociationMacroError: Invalid source reflection macro :has_many :through for has_many :group_folders, :through => :groups. Use :source to specify the source reflection."

User model [code=] has_many :permissions   has_many :folders, :through => :permissions   has_many :members   has_many :groups, :through => :members   has_many :group_folders, :through => :groups, :source => :folders [/code]

Group model [code=] has_many :members   has_many :users, :through => :members   has_many :permissions   has_many :folders, :through => :permissions [/code]

So is there a easy way to pull user.groups.folders without looping through each group and saving folder in a array?

If you want all folders belonging to all groups for a user, you can do:

user.groups.collect{|g| g.folders}.flatten.uniq

which will return all unique folders in an array.

-Brady brady@lunardawn.ca