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.
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
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
has_many :permissions
has_many :folders, :through => :permissions
has_many :members
has_many :groups, :through => :members
has_many :group_folders, :through => :groups, :source => :folders
Group model
has_many :members
has_many :users, :through => :members
has_many :permissions
has_many :folders, :through => :permissions
So is there a easy way to pull user.groups.folders without looping
through each group and saving folder in a array?