I have been trying to eager load associations based on some scope in my rails3 app, but could not find any solution. My app has following models: class Project has_many :entries has_many :to_dos class ToDo has_may :entries has_many :tasks belongs_to :project class Task has_many :entries belongs_to :to_do class Entry belongs_to :project belongs_to :to_do belongs_to :task # options format: {:from_date=>(Date.today-1.week), :to_date=>(Date.today +1.week), :user_id=>60} scope :filtered_list, lambda { |options| condition = options[:user_id].nil? ? "true" : "user_id #{options[:user_id]}" condition += options[:from_date].nil? ? "" : " AND entry_date >''#{options[:from_date]}''" condition += options[:to_date].nil? ? "" : " AND entry_date <''#{options[:to_date]}''" where(condition) } And in projects#index i have following code to get all projects of an user: @projects = current_user.projects.includes(:entries, :to_dos =>[:entries, :tasks => :entries]) It fetches all projects of the user, along with eager loading the associations. So when i perform following loop to get all the entries within the project, no new query gets fired. def all_entries(options) entries = self.entries self.to_dos.each do |d| entries += d.entries d.tasks.each do |t| entries += t.entries end end end As this eager loading fetches all entries, it is way too much data than what I actually needed. So I tried to apply some conditions to the entries eager loaded, but could not find any solution. I was looking for something like: @projects current_user.projects.includes(:entries.filtered_list(options), :to_dos =>[:entries.filtered_list(options), :tasks => :entries.filtered_list(options)]) So that only the entries satisfying some conditions get loaded. Can''t we use scoping with eager loading? Please help me out use eagerloading alongside scoping. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.