Eager loading with inheritance


#1

In order to implement inheritance (STI was not ideal), I have
implemented a solution similar to what is described in this post:
http://www.ruby-forum.com/topic/73822#108686. I have one model that
acts as a parent class with shared attributes, two child models with
different attributes, and a module that contains shared functionality
for the child models.

The issue arises in creating associations with other models when it is
necessary to provide conditions on the association, for example:

has_many :foos, :conditions => “foo_metadata.created_at <
#{Time.now}”,
:order => ‘foo.bar DESC,
foo_metadata.baz’

I can use eager loading to include the foo_metadata relationship,
however, this becomes cumbersome and difficult to manage throughout
the application. Is there an alternative solution to this problem?
Would composed_of (or other composition options) be of any help?

Thanks,
Josh