I'm looking for a nice(!) way to specify multiple joins to the same table where there are different conditions on each one.
I was hoping for something like this
class Model < ActiveRecord::Base has_many :things
scope :some_things, joins(:things).where('things.foo' => 'bar'). joins(:things => :others).where('others.foo' => 'baz') end
Unfortunately, this is wishful thinking. As far as I can tell, I have to write the SQL for the second join explicitly like this
joins('JOIN things AS others ON models.id = things.model_id')
Did I miss a better way?
Michael